PDA

Показать полную графическую версию : [решено] Подавление вывода в консоль утилиты tasklist


RedScorpio
04-06-2009, 18:03
@echo off
for /F "tokens=1,2 delims= " %%i in ('tasklist /fi "IMAGENAME eq abcd.exe"') do (
set _NAME=%%i
set _PID=%%j
)

echo NAME=%_NAME%
echo PID=%_PID%

Pause


Как подавить вывод в консоль сообщения INFO: No tasks running with the specified criteria. в случае, если процесс не найден

gora
04-06-2009, 18:19
Как подавить вывод в консоль »
Попробуйте так:
@echo off
Set proc=abcd.exe
tasklist | find /i "%proc%">nul || GoTo :m
for /F "tokens=1,2 delims= " %%i in ('tasklist /fi "IMAGENAME eq %proc%"') do (
set _NAME=%%i
set _PID=%%j
)

echo NAME=%_NAME%
echo PID=%_PID%

:m
Pause

Maza Faka
05-06-2009, 08:13
RedScorpio
Просто перенаправьте стандартный поток ошибок в NUL:

@echo off

for /F "tokens=1,2 delims= " %%i in ('tasklist /fi "IMAGENAME eq notepad.exe" 2^>Nul') do (
set _NAME=%%i
set _PID=%%j
)

echo NAME=%_NAME%
echo PID=%_PID%

Pause

RedScorpio
05-06-2009, 09:19
Спасибо. Оба варианта хороши. Но второй красивее :)




© OSzone.net 2001-2012