Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Скриптовые языки администрирования Windows (http://forum.oszone.net/forumdisplay.php?f=102)
-   -   [решено] Подавление вывода в консоль утилиты tasklist (http://forum.oszone.net/showthread.php?t=141882)

RedScorpio 04-06-2009 18:03 1135097

Подавление вывода в консоль утилиты tasklist
 
Код:

@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 1135109

Цитата:

Цитата RedScorpio
Как подавить вывод в консоль »

Попробуйте так:
Код:

@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 1135499

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 1135539

Спасибо. Оба варианта хороши. Но второй красивее :)


Время: 00:00.

Время: 00:00.
© OSzone.net 2001-