如何从CMD调用PowerShell脚本并将退出码传入%errorlevel%
CMD中获取PowerShell脚本退出码的方法
直接在CMD中执行以下命令,即可让%errorlevel%捕获到exit_three.ps1返回的3:
powershell.exe -NoProfile -ExecutionPolicy Bypass -Command "& '.\exit_three.ps1'; exit $LASTEXITCODE"
关键参数说明
-NoProfile:跳过PowerShell配置文件加载,避免不必要的环境干扰-ExecutionPolicy Bypass:临时绕过脚本执行策略限制(适用于系统默认禁止运行PS脚本的场景)-Command:指定执行的命令序列,核心是最后通过exit $LASTEXITCODE把PS脚本的退出码传递给powershell.exe进程,这样CMD就能通过%errorlevel%读取到这个值
验证方式
命令执行完成后,在CMD中输入:
echo %errorlevel%
即可看到输出结果为3。
路径含空格的处理
如果脚本路径包含空格,需将路径用双引号包裹:
powershell.exe -NoProfile -ExecutionPolicy Bypass -Command "& 'C:\My Scripts\exit_three.ps1'; exit $LASTEXITCODE"
内容的提问来源于stack exchange,提问作者Felix Waltl
相关产品推荐
相关产品推荐

