我想从 cmd.exe 运行 PowerShell 命令(不是脚本)并正确管理退出代码:
powershell.exe [bool]((get-service wsearch).status -eq 'Running')
但我想将布尔状态作为错误级别返回。
我想%errorlevel%
在运行后回显并使用它来确定服务状态。
我想从 cmd.exe 运行 PowerShell 命令(不是脚本)并正确管理退出代码:
powershell.exe [bool]((get-service wsearch).status -eq 'Running')
但我想将布尔状态作为错误级别返回。
我想%errorlevel%
在运行后回显并使用它来确定服务状态。
只需使用 PowerShellexit
命令将结果作为参数提供。例如:
C:\>powershell -command "exit [int]$true;"
C:\>echo %errorlevel%
1
C:\>powershell -command "exit [int]$false;"
C:\>echo %errorlevel%
0
或者对于您的情况:
powershell.exe -command "exit [int]((get-service wsearch).status -eq 'Running')"
您也可以使用此变体:
CMD I> Set cmd=powershell -c "((gsv wsearch -ea 0).status -eq 'Running')"
CMD I> %cmd% |>nul find "True" && echo RUNNING||echo NOT RUNNING
RUNNING
CMD I> Set cmd=powershell -c "((gsv youka -ea 0).status -eq 'Running')"
CMD I> %cmd% |>nul find "True" && echo RUNNING||echo NOT RUNNING
NOT RUNNING