调用批处理文件并等待它完成

时间:2012-07-13 14:30:00

标签: powershell batch-file

我有一个PowerShell脚本,可能非常粗略地表示如下。

function startTask
{
    calls external batch script (runs for roughly 10 minutes)
    creates done1.txt
 }
function startTask2
{
    calls batch (runs for roughly 10 minutes)
    creates done2.txt
}
startTask
if done1.txt exists
startTask2
if done2.txt exists
write-host "done"

我面临的问题是,在调用第一个批处理文件后立即调用第二个批处理文件。有没有办法让powershell知道批处理文件何时完成?旁注,我无法访问批处理文件,所以我无法编辑它

1 个答案:

答案 0 :(得分:0)

我建议您只使用带有错误/退出代码的try-catch,而不是从每个任务中编写文本文件:

一个例子:

## D:\Scripts\Temp\exit.ps1 ##
try{
    $null.split()
}
catch
{
    exit 34
}

exit 2
#############################

# launch powershell from cmd 
C:\> powershell -noprofile -file D:\Scripts\Temp\exit.ps1
C:\>echo %errorlevel%
34