問題タブ [scriptblock]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
3 に答える
2856 参照

powershell - ForEach-Object で begin/process/end ブロックを使用できませんか?

私は次のコードを持っています:

%{} ブロックにエラーが表示されますが、最初の「f」呼び出しは成功します。

しかし、なぜ?/ /ブロックForEach-Objectをサポートしていませんか?beginprocessend

0 投票する
2 に答える
827 参照

powershell - スクリプト ブロックをパラメーターとして渡し、複数回実行する方法は?

「Write-Host mm」をスクリプトブロックとして関数「f」に渡したいのですが、「f」がそれを10回実行することを願っているので、試しました:

残念ながら、powershell はエラーを出します:

ジェイソンの最初の回答に感謝しますが、うまくいかないようです:ありがとう、しかしこれはうまくいかないようです、私は PS 4.0 を持っています

このスクリプトを実行すると、次のように出力されます。

変ですね!スクリプト自体が出力されます。PS4.0 と ISE を実行しています。何故ですか?

0 投票する
1 に答える
273 参照

powershell - 文字列からスクリプト ブロックを作成する

これが私がスクリプトブロックで作業しようとしているものです

私が取得するたびに

「1」個の引数を指定して「Create」を呼び出し中に例外が発生しました: 「行:4 文字:4 + for /f "tokens=14" %i in ('"ipconfig | findstr IPv4"') do set ip=%i + ~ キーワード 'for' の後に開始 '(' がありません。 行:1 文字:1 + $scriptblock=[scriptblock]::create($scriptblock) + ~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + CategoryInfo : NotSpecified: (:) [], MethodInvocationException + FullyQualifiedErrorId : ParseException

最初に here 文字列に設定してから を使用しようとしました[scriptblock]::create()が、それでも同じ結果が得られます。

これをスクリプトブロックに入れるにはどうすればよいですか?

0 投票する
1 に答える
1316 参照

powershell - スクリプト ブロック内の名前付きパラメーターの 1 つに配列を渡しますか?

別のスクリプトで名前付きパラメーターに配列を渡す方法を見つけようとしています。しかし、私は解決策を見つけることができませんでした。

Test2.ps1:

メインスクリプト:

実行すると、出力が得られました

以下の行は、別の Stackoverflow の回答からコピーされたものですが、最初の 3 つの名前付きパラメーターに対してどのように機能したかはよくわかりません。

特に「$(&{$args} @params)」の部分。私はスプラッティングの基本的な理解を持っていますが、これは私を超えています. 誰かが私のために構文を少し説明していただければ幸いです。

0 投票する
2 に答える
4262 参照

powershell-3.0 - Invoke-Command の -ScriptBlock にローカル変数を渡す方法

Server-2 から Server-1 (つまり、リモート サーバー) に対して次の PowerShell スクリプトを実行しようとしています。

質問: コード部分

D:\Test\UsageTracking.iqpとの値Devはプロジェクトごとに変化するため、パラメータ化したかったのです。パラメータを使用して新しい値を渡すにはどうすればよいですか? 可能であれば、これが私が望んでいた方法です:

上記を実行すると、次のエラー メッセージが表示されます。

それを機能させるために、どんな助けも感謝します。

0 投票する
1 に答える
1777 参照

c# - Powershell は Func のスクリプトブロックを作成しますアクションの代わりに

Powershell から使用しようとしているクラスがあります。このクラスには というメソッドがあり、Execute()2 つのオーバーロードがあります。1 つは を受け取り、Func<T>もう 1 つは を受け取りますAction<T>Action<T>スクリプト ブロックをデリゲートとして使用するオーバーロードを呼び出すことはできますが、次のようなオーバーロードを呼び出す方法がわかりませんFunc<T>

を受け取るオーバーロードを呼び出すにはどうすればよいFunc<T>ですか? これには、戻り値の型を持つ ScriptBlock を作成する必要があると思いますが、これを行う方法がわかりません。Powershell パーサーは、これを自動的に実行できるほどスマートではないようです。

0 投票する
1 に答える
3580 参照

powershell - EOF を使用した Powershell psql コード ブロック

LinuxでEOFを使用して「psql」コマンドに複数行のインジェクションを行いました。

psql << EOF sql1 sql2

EOF

Linux から Windows に移行したので、Windows PowerShell でも同じことをしたいと思っています。psqlをブロックとして、コマンドを引数として使用して、scriptblockを試しました。うまくいきません。Windows PowerShell で EOF をシミュレートする方法を教えてください。Google はこれについてあまり情報を持っていません。