从Powershell脚本返回退出代码

时间:2018-12-14 09:15:52

标签: powershell powershell-v2.0

我正在从批处理脚本调用PowerShell脚本,并且希望将不同的错误级别传递给后者。

考虑这个小例子:

outer.bat

@ECHO OFF
powershell ./inner.ps1
echo Errorlevel %ERRORLEVEL%!
PAUSE

inner.ps1

$tomatoes = Read-Host "How many tomatoes (1,2,3)?"
if ($tomatoes -eq "1") {
    Write-Host "Exiting with 1!"
    exit 1
} 
elseif ($tomatoes -eq "2") {
    Write-Host "Exiting with 20!"
    exit 20
}
elseif ($tomatoes -eq "3") {
    Write-Host "Exiting with 300!"
    exit 300
}
else {
    Write-Host "Exiting without anything!"
    exit
}

执行exit时,批处理脚本将得到ERRORLEVEL中的0在所有其他情况下,它的值为1 。不是20,不是300。这是为什么?我可以以某种方式更改它吗?

0 个答案:

没有答案