2012-04-19 71 views

回答

3

请尝试以下操作:

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

没有必要来包装调用cmd.exe,在PSake的exec {}的功能,但如果你这样做,构建在批量返回任何东西,但0

下面的任务将失败总是让构建失败:

task Return1FromCmd { 
    exec {cmd.exe /c "@exit 1"} 
} 
1

要执行.BAT(或.cmd)从PowerShell的:

foo.bat:

@echo off 
echo "foo" 

foo.ps1:

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

我们就可以运行该脚本:

D:\dev> .\foo.ps1 
"foo" 
1

这个工作对我来说:

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

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

    Exec { & $mybat } 
} 

无需直接中号ention cmd.exe - 在Exec脚本块中使用&似乎已经足够。