Visual Build のプロジェクト ステップの 1 つの間に powershell スクリプトを呼び出そうとしています。ビジュアルビルド内に新しいスクリプトを作成し、それが私のpowershellスクリプトを呼び出すようにしました。vbscript を選択しました。これがスクリプト内のコードです。
Dim paths, source1
paths = "C:\Dev\"
source1 = "\\10.156.3.14\win"
sCmd = "powershell.exe -noexit -ExecutionPolicy Unrestricted -file C:\Dev\downloadfiles.ps1 -target """ & paths & """ -source """ & source1 & """"
Set xShell = CreateObject("Wscript.Shell")
rReturn = xShell.Run(sCmd, 0, true)
スクリプトがビルドをタイムアウトさせます。
コンソールから実行すると、powershell スクリプトは正常に動作します。足りないものはありますか?
download.files.ps1 パラメータ:
param (
[string[]]$target,
[string[]]$source
)
さらに、実行中にコンソール出力を表示する方法はありますか。「-noexit」でも何も表示されません。
更新-- スクリプトの最初の部分が実行され、関連ファイルの一部が返されます。パラメータを受け取る部分は機能していませんが。
スクリプトがパラメーターを取り込んでいるため、これはより良い代替手段のようです:
Set objShell = CreateObject("Wscript.Shell")
objShell.run("powershell.exe -noexit -ExecutionPolicy Unrestricted -file .\downloadfiles.ps1 -target """ & paths & """ -source """ & source1 & """")
フォローアップの質問。vbscript 呼び出しで文字列配列を渡すにはどうすればよいですか? 例えば
$target = @('c:\dev','d:\lib')