none
请教bat命令中如何把上一条命令查询的内容作为下一条命令的变量 RRS feed

  • 问题

  • 如图所示,我想把 sc queryex wuauserv 查询到的PID,传递给taskkill /f /f pid * 中

    请教一下bat如何实现?,或者powershell如何编写?

    2020年11月26日 7:46

答案

  • 您好:

    可以将命令的各行输出赋值给变量,然后根据输出的格式,在第9行的21个字符处截断具体的PID,像是这样

    @ECHO OFF
    SETLOCAL ENABLEDELAYEDEXPANSION
    SET count=1
    FOR /F "tokens=* USEBACKQ" %%G IN (`sc queryex wuauserv`) DO (
      SET var!count!=%%G
      SET /a count=!count!+1
    )
    SET pid=%var9:~21%
    TASKKILL /F /PID %pid%
    ENDLOCAL

    如您还有其他疑问,请随时与我们联系。 如果回答是有帮助的, 请将其标记为答案, 可以帮助其他有相同问题的社区成员, 并快速找到有用的答复。

    祝好

    Ian Xue


    Please remember to mark the replies as answers if they help.
    If you have feedback for TechNet Subscriber Support, contact tnmff@microsoft.com.





    2020年11月27日 1:58