我想运行此命令并将结果用作“if then”语句
schtasks /query /s SERVER /fo list /tn "TASK" | find /c "Running"
我在如何管理这个问题上遇到了障碍
该命令的正常输出是0
或3
我需要能够说“如果结果0然后转到”或类似的东西。
有什么建议吗?
答案 0 :(得分:3)
命令 FOR 是将命令的输出行转换为变量以供进一步处理的首选方法。在命令提示符窗口for /?
中运行,以获取有关此命令的详细信息。
for /F %%I in ('%SystemRoot%\System32\schtasks.exe /query /s SERVER /fo list /tn "TASK" ^| %SystemRoot%\System32\find.exe /c "Running"') do if "%%I" == "0" goto :EOF
必须使用|
对管道运算符^
进行转义才能将其应用于命令 schtasks ,并且由于将其应用于命令而不会导致语法错误FOR 强>