use*_*114 4 file status batch-file tasklist exit
我正在批处理文件中的标签中执行以下命令:tasklist.exe/FI"USERNAME eq%USERDOMAIN%\%USERNAME%"/ FI"IMAGENAME eq%1"/ FI"PID eq%2"2> nul && echo errorl:%ERRORLEVEL%
%1是进程运行,%2是其PID.即使进程及其PID匹配或不匹配,我在o/p中得到"errorl:1".
我不确定这里有什么不对.任何的想法?
您可以通过find命令管道任务列表并从中获取错误级别.
例:
tasklist | find "firefox.exe"
echo Error level = %ERRORLEVEL%
REM If firefox is running, the errorlevel is set to 0
REM If firefox is not running, errorlevel is set to 1
Run Code Online (Sandbox Code Playgroud)
在我看来,你根本不能使用errorlevel,
因为即使找不到pid ,tasklist总是返回0.
我想,你必须解析tasklist的输出.
@echo off
setlocal enableDelayedExpansion
set "cmd=tasklist.exe /FI "USERNAME eq %USERDOMAIN%\%USERNAME%" /FI "IMAGENAME eq %1" /FI "PID eq %2""
for /F "delims=*" %%p in ('!cmd! ^| findstr "%2" ') do (
echo found %%p
)
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
15947 次 |
最近记录: |