【问题标题】:Use command output for "if then else" in batch file在批处理文件中使用“if then else”的命令输出
【发布时间】:2016-02-05 16:26:26
【问题描述】:

我想运行这个命令并将结果用作我的“if then”语句

schtasks /query /s SERVER /fo list /tn "TASK" | find /c "Running"

我在如何管理这个问题上遇到了障碍。
该命令的正常输出是 03
我需要能够说“if result 0 then goto”或类似的内容。

有什么建议吗?

【问题讨论】:

    标签: batch-file scripting


    【解决方案1】:

    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而导致语法错误>.

    【讨论】:

    • 非常感谢您的帮助。这正是我所需要的。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-03-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-01-03
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多