0

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') 
4

1 に答える 1