gpt4 book ai didi

powershell - 将错误代码从CMD返回到Powershell

转载 作者:行者123 更新时间:2023-12-04 01:40:29 27 4
gpt4 key购买 nike

我正在处理Mssql安装脚本,并且想获得无提示mssql安装的结果。在我的PowerShell脚本中,我运行以下命令:

$result = (start cmd "/c D:\SQL2008R2\SQL2008R2\setup.exe /CONFIGURATIONFILE=sqlconfig.ini && exit 0 || exit 1")

如果失败则返回0,如果通过则返回1。不幸的是,我没有任何输出。有任何想法吗?

最佳答案

Start-Process的替代方法是语法上更简洁的调用运算符&

& cmd.exe /c 'ping.exe doesnotexist && exit 0 || exit 1'

退出代码将包含在内置变量 $LASTEXITCODE中,因此:
Write-Host $LASTEXITCODE

这将包含正在运行的程序的退出代码,因此您不必只用CMD.exe运行它即可:
& ping.exe doesnotexist ; Write-Host $LASTEXITCODE

应用于您的命令行程序:
& cmd.exe /c 'D:\SQL2008R2\SQL2008R2\setup.exe /CONFIGURATIONFILE=sqlconfig.ini && exit 0 || exit 1'

要不就:
& D:\SQL2008R2\SQL2008R2\setup.exe /CONFIGURATIONFILE=sqlconfig.ini

在两种情况下, $LASTEXITCODE都应为0表示成功,否则为非零(如果外部程序编写正确)。

关于powershell - 将错误代码从CMD返回到Powershell,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11004666/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com