3

我正在尝试在 powershell psake 脚本中执行 .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 }
}

无需直接提及cmd.exe——&在 Exec 脚本块中使用似乎就足够了。

于 2016-10-14T19:26:59.187 回答