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

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

Timurgall 28-09-2012 12:22 1996047

Работает в cmd.exe но не работает в пакете.
 
В общем задача такая. Нужно прибивать процесс если он существует. запустил cmd.exe написал так:
Код:

for /f %i in ('tasklist') do (if %i==chrome.exe taskkill /F /IM chrome.exe /T)
Код сработал и он убил Хром.
Но когда я завернул это в *.bat он не работает.




Знает кто в чем дело?

Kazun 28-09-2012 12:35 1996057

А зачем использовать for,когда достаточно только:
taskkill /F /IM chrome.exe /T

gora 28-09-2012 13:30 1996082

Цитата:

Цитата Timurgall
Знает кто в чем дело? »

Цитата:

В пакетных файлах для команды FOR используется запись %%переменная вместо %переменная.

Timurgall 28-09-2012 13:34 1996087

Цитата:

Цитата Kazun
А зачем использовать for,когда достаточно только:
taskkill /F /IM chrome.exe /T »

Согласен, сейчас так и есть, но хочется с проверкой есть процесс или нет.
Или может кто знает как не VBS проверить существование процесса.

gora 28-09-2012 13:39 1996090

Цитата:

Цитата Timurgall
хочется с проверкой есть процесс или нет »

Код:

TASKLIST /FI "IMAGENAME eq chrome.exe" | Find "chrome.exe">Nul && TASKKILL /F /IM chrome.exe /T

Timurgall 28-09-2012 13:56 1996102

gora, спасибо. Ваш скрипт намного красивее отрабатывает.


Время: 09:44.

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