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

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - [решено] tasklist "Фильтр не опознан" или "Трудности перевода"

Ответить
Настройки темы
CMD/BAT - [решено] tasklist "Фильтр не опознан" или "Трудности перевода"

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


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

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


Изменения
Автор: awkozlov
Дата: 28-05-2013
Существует проблема перевода Windows
который критично влияет на выполнение команды tasklist на разных виндах.

Написал код, чтобы наверняка определяла есть зависшие процессы или нет.

Проблема в том, что батник опрашивает 3 раза (по 3 кодовым страницам) на английском и русском итого 6 раз. А tasklist отрабатывает не быстро...

Как можно заранее перед запуском tasklist определить кодовую страницу на которую переведен windows и язык,
чтоб не вызывать лишние 5 раз tasklist ? Как лучше поправить этот код?

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

chcp 1252

tasklist /fi "STATUS eq not responding"  /fo table /nh | find /i "%1%"
if %ERRORLEVEL%==0 exit /b 0

tasklist /fi "Состояние eq not responding"  /fo table /nh | find /i "%1%"
if %ERRORLEVEL%==0 exit /b 0

chcp 1251

tasklist /fi "STATUS eq not responding"  /fo table /nh | find /i "%1%"
if %ERRORLEVEL%==0 exit /b 0

tasklist /fi "Состояние eq not responding"  /fo table /nh | find /i "%1%"
if %ERRORLEVEL%==0 exit /b 0

chcp 866

tasklist /fi "STATUS eq not responding"  /fo table /nh | find /i "%1%"
if %ERRORLEVEL%==0 exit /b 0

tasklist /fi "Состояние eq not responding"  /fo table /nh | find /i "%1%"
if %ERRORLEVEL%==0 exit /b 0


exit /b 1

Отправлено: 22:12, 28-05-2013

 

Ветеран


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

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


awkozlov,
Позвольте поинтересоваться, что мешает переменной %zPID% стать нулем в строке
Цитата awkozlov:
for /f "skip=2 tokens=2 delims= " %%i in ('find /i "Running" %TEMP%\tmp_IsTk.txt') do (set /a zPID=0) »
при положительном или отрицательном поиске слова в файле, т.е. зачем нужна эта строка или зачем нужна в таком виде, запись "set /a zPID=0" - будет означать тоже самое.

Цитата awkozlov:
но пишет "Непредвиденное появление: | »
правильно так (для вашего кода, так как такую запись правильной тоже лучше не считать):
Код: Выделить весь код
for /f "skip=2 tokens=2 delims= " %%i in ('tasklist /v ^| find /i "%1" ^| find /i "not responding"') do (set /a zPID=%%i)

Отправлено: 03:44, 30-10-2016 | #11



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - [решено] tasklist "Фильтр не опознан" или "Трудности перевода"

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
Интерфейс - как искать в содержимом файлов не "слово или фразу", а "вхождение символов"? w95w7 Microsoft Windows 2000/XP 0 11-10-2011 18:41
Интерфейс - drag&drop - пиктограмки "плюсик" или "стрелка" не появляются bk99 Microsoft Windows 2000/XP 0 14-11-2010 14:21
Не получается найти все выпуски "Хакер"+"спец"+"железо" verdix Хочу все знать 5 29-11-2008 15:19
Запретить/удалить пункт "Programs" ("Программы") из меню кнопки "Start" ("Пуск") submaster Microsoft Windows NT/2000/2003 5 13-09-2006 12:29
"Вход в систему недоступен" или "Не найден сервер для проверки пароля входа в сеть" rooty Microsoft Windows NT/2000/2003 8 23-08-2005 02:18




 
Переход