当前位置:  开发笔记 > 开发工具 > 正文

如何使用wmic获取特定进程的进程ID并检查错误?

如何解决《如何使用wmic获取特定进程的进程ID并检查错误?》经验,为你挑选了1个好方法。

我创建了一个批处理脚本,它运行WMIC以从特定进程获取PID.如果我打开bat脚本,我会看到'ProcessID 1234'或'No Instance(s)Available'.在命令窗口中.

我想创建一个IF语句,我检查此命令的输出是否为PID或No Instance(s) Available..我可以使用哪个变量?

我的代码:

wmic process where "Name like '%%cmd.exe%%' and CommandLine like '%%WatchdogStarter.bat%%'" get processid
if %%outputfromthiswmiccommand%% == 'No Instance(s) Available.' ....

Mofi.. 6

您可以使用以下批处理代码来获取进程标识符值或分配给变量的错误消息ProcessID.

@echo off
set "ProcessID="
for /F "usebackq skip=1 delims=" %%I in (`wmic process where "Name like '%%cmd.exe%%' and CommandLine like '%%WatchdogStarter.bat%%'" get processid 2^>nul`) do set "ProcessID=%%I"
if "%ProcessID%" == "" (
    echo PID could not be determined.
) else (
    echo PID is: %ProcessID%
)

要了解使用的命令及其工作方式,请打开命令提示符窗口,执行以下命令,并完全阅读为每个命令显示的所有帮助页面.

echo /?

for /?

if /?

set /?

wmic /?

另请参阅使用命令重定向运算符来了解2>nulNo Instance(s) Available.写入STDERR的错误消息(英语Windows)重定向到设备NUL.2>nul必须转义尖括号^以应用2>nul命令wmic而不是命令FOR.

重定向错误信息到设备NUL并确保ProcessID如果不存在,WMIC命令没有成功大于输出比较好WMIC作为错误信息是根据Windows的语言与特定的字符串.此解决方案独立于Windows的语言.



1> Mofi..:

您可以使用以下批处理代码来获取进程标识符值或分配给变量的错误消息ProcessID.

@echo off
set "ProcessID="
for /F "usebackq skip=1 delims=" %%I in (`wmic process where "Name like '%%cmd.exe%%' and CommandLine like '%%WatchdogStarter.bat%%'" get processid 2^>nul`) do set "ProcessID=%%I"
if "%ProcessID%" == "" (
    echo PID could not be determined.
) else (
    echo PID is: %ProcessID%
)

要了解使用的命令及其工作方式,请打开命令提示符窗口,执行以下命令,并完全阅读为每个命令显示的所有帮助页面.

echo /?

for /?

if /?

set /?

wmic /?

另请参阅使用命令重定向运算符来了解2>nulNo Instance(s) Available.写入STDERR的错误消息(英语Windows)重定向到设备NUL.2>nul必须转义尖括号^以应用2>nul命令wmic而不是命令FOR.

重定向错误信息到设备NUL并确保ProcessID如果不存在,WMIC命令没有成功大于输出比较好WMIC作为错误信息是根据Windows的语言与特定的字符串.此解决方案独立于Windows的语言.

推荐阅读
帆侮听我悄悄说星星
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有