Имя пользователя:
Пароль:
 

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

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


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

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


Anonymоus благодарю, очень полезно!

В порядке обенм опытом, решение предложенное на соседнем форуме:

Код: Выделить весь код
@echo off
if exist log.txt del /q /f log.txt
for /f "delims=," %%i in ('tasklist /FO CSV 2^>nul') do echo %%i>>log.txt
echo "ntvdm.exe">>log.txt
goto sleep
:scan
tasklist /FI "Imagename eq grand.exe" 2>nul | findstr "grand.exe" >nul
if errorlevel 1 goto end
for /f "delims=," %%i in ('tasklist /FO CSV 2^>nul') do (
findstr %%i log.txt >nul || taskkill /f /im %%i
)
:sleep
sleep 10
goto scan
:end
del /q /f log.txt
exit
После запуска генерируется список запущенных процессов "log.txt", затем пауза 10 секунд (утилита sleep), текущие процессы сравниваются с "Log.txt" если обнаруживается лишний - он завершается, затем пауза 10 сек. и далее опять по кругу.

В скрипте предусмотрен контроль работы одного приложения "grand.exe" если он не обнаруживается в списке активных процессов скрипт останавливается "goto end".

Разрешенные приложения (не запушенные в момент старта скрипта), в данном примере "ntvdm.exe", дописываются в log.txt командой "echo "ntvdm.exe">>log.txt"

В основном батнике проверка OS реализованна так:
Код: Выделить весь код
@echo off
:whois
ver | find " 5."
if not errorlevel 1 goto winxp
ver | find " 6."
if not errorlevel 1 goto win7
:winxp
echo you os is Windows XP
:win7
echo you os is Windows Seven
pause
exit
Задача решена, всем большое спасибо!

Отправлено: 07:20, 13-11-2011 | #4