Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  

Показать сообщение отдельно

Новый участник


Сообщения: 20
Благодарности: 1

Профиль | Отправить PM | Цитировать


Сделал в пару строк. Как-то так.

Правда хотелось бы поизящнее, без использования файла tmp_IsTk.txt двойным поиском в FOR
for /f "skip=2 tokens=2 delims= " %%i in ('tasklist /v ^| find /i "%1" ^& ^| find /i "Running"') do (set /a zPID=0)
for /f "skip=2 tokens=2 delims= " %%i in ('tasklist /v ^| find /i "%1" ^& ^| find /i "not responding"') do (set /a zPID=%%i)
но пишет "Непредвиденное появление: |."

Вызов.cmd
Код: Выделить весь код
call _IsTask notepad.exe
@Echo ERRORLEVEL=%ERRORLEVEL%
Pause
_IsTask.cmd
Код: Выделить весь код
@Echo off

FOR /F "tokens=2 delims=:" %%I IN ('CHCP') DO SET /A CP=%%I

chcp 1252 >nul

set /a zPID=-1
tasklist /v | find /i "%1">%TEMP%\tmp_IsTk.txt
for /f "skip=2 tokens=2 delims= " %%i in ('find /i "Running" %TEMP%\tmp_IsTk.txt') do (set /a zPID=0)
for /f "skip=2 tokens=2 delims= " %%i in ('find /i "not responding" %TEMP%\tmp_IsTk.txt') do (set /a zPID=%%i)
chcp %CP% >nul

del %TEMP%\tmp_IsTk.txt
exit /b %zPID%

Последний раз редактировалось awkozlov, 02-06-2013 в 20:24.


Отправлено: 02:38, 31-05-2013 | #9