我正在尝试使用powershell psake脚本来执行.bat文件。这可能吗?或者我必须做一个解决方法吗?
答案 0 :(得分: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"}
}
答案 1 :(得分: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"
答案 2 :(得分:1)
这对我有用:
properties {
$mybat = 'C:\path\tool.bat'
}
task Test -depends ... {
"Bla bla"
Exec { & $mybat }
}
无需直接提及cmd.exe
- 在Exec脚本块中使用&
似乎就足够了。