3

PowerShellpsakeスクリプトで.batファイルを実行しようとしています。これは可能ですか?または、回避策を実行する必要がありますか?

4

3 に答える 3

3

次のことを試してください。

task CallBatch {
  exec {cmd.exe /c "path\to\my\testscript.bat"}
}

PSakeのexec{}関数でcmd.exeの呼び出しをラップする必要はありませんが、ラップすると、バッチが0以外を返すと、ビルドが失敗します。

以下のタスクでは、常にビルドが失敗します。

task Return1FromCmd {
  exec {cmd.exe /c "@exit 1"}
}
于 2012-06-28T05:09:59.470 に答える
1

PowerShellから.bat(または.cmd)を実行するには:

foo.bat:

@echo off
echo "foo"

foo.ps1:

. .\foo.bat
#or
.\foo.bat
#or
& .\foo.bat

次に、スクリプトを実行できます。

D:\dev> .\foo.ps1
"foo"
于 2012-05-18T04:02:13.823 に答える
1

これは私のために働きます:

properties {
  $mybat = 'C:\path\tool.bat'
}

task Test -depends ... { 
  "Bla bla"

  Exec { & $mybat }
}

直接言及する必要はありません-Execスクリプトブロックでcmd.exe使用&するだけで十分なようです。

于 2016-10-14T19:26:59.187 に答える