Может кому интересно: принцип управления сонсольными прогами на примере ESET NOD32 (сам пользуюсь Каспером
!)
[more]О преимуществах ESET NOD32, полагаю, лишний раз говорить не стоит, тем более с одной стороны, это был бы пиар в сторону ESET, с другой – выбор антивируса является сугубо личным делом. Поэтому я и решил не углубляться в структурные особенности, да и менее всего мне хочется кого-то обидеть. Скажу одно, по вопросам лицензий обращайтесь в ‘Варезник (спасибо leric75 за оперативность и своевременную помощь).
Возможно те, кто не любит GUI (как, например, я), в ESET NOD32 предусмотрена консольная версия сканера, обладающая, кстати, более широким функционалом, нежели GUI-шная версия. Об этом можно почитать в мануале программы. Однако в путях реестра консольная версия сканера не прописывается (что довольно логично в целях безопасности), а потому всякий раз переходить в папку с программой, чтобы запустить сканер представляется делом неблагодарным, и даже более – ужасно непрактичным (ох, и убили бы меня филологи за подобные обороты речи!) Поэтому, предлагаю вашему вниманию батник, заметно упрощающий работу с консольным сканером.
Итак, суть батника состоит в следующем:
1)Если лога о ранее проведенном сканировании не существует, то он будет создан в папке с батником (в примере это C:\BIN);
2)Если лог имеется, то ему присваивается в качестве имени текущая дата и время с точностью до минут (DDDD-TTTT.txt), после чего он перемещается во вложенную папку директории (C:\BIN\logs);
Основные принципы, думаю, будут понятны из контекста.
Код: @echo on
@rem Поиск результатов предыдущего сканирования: если сканирование не проводилось, то
@rem поиск прерывается и происходит инициализация нового сканирования
@echo ђ вЁдЁЄ жЁп б«г¦Ў...
@if not exist %cd%\log.txt goto end else goto begin
@rem Метка альтернативных настроек
:begin
@rem Дата и время обрабатываются без разделительных знаков
@for /f "tokens=1,2,3* delims=. " %%i in ('date /t') do @(
set date=%%i
set mont=%%j
set year=%%k
)
@for /f "tokens=1,2* delims=: " %%i in ('time /t') do @(
set hour=%%i
set mint=%%j
)
@rem Установка переменной вывода
@set file=%cd%\logs\%date%%mont%%year%-%hour%%mint%.txt
@rem Обработка предыдущего файла
@for /f "eol=# tokens=1,2* delims=_ " %%i in (log.txt) do @echo %%i %%j %%k >> %file%
@rem Удаление использованных переменных
@set date=
@set mont=
@set year=
@set hour=
@set mint=
@set file=
@echo ђ вЁдЁЄ жЁп § ўҐаиҐ- ...
@rem Метка альтернативных настроек
:end
@echo off
@echo on
@rem Удаление предыдущего отчета: если его не удалить, отчет о текущем сканировании
@rem будет выведен в конец предыдущего, что противоречит идеи резервирования копий
@if exist %cd%\log.txt (del /f log.txt)
@rem Установка параметров сканера
@echo “бв -®ўЄ ЇҐаҐ¬Ґ--ле б«г¦Ў...
@set scan="C:\Program Files\ESET\ESET NOD32 Antivirus"
@set file=%cd%
@rem Получение короткого имени пути
@for /d %%i in (%scan%) do @(set scan=%%~si)
@rem Перечисление параметров сканера
@echo Ќ з «® -вЁўЁагб-®Ј® бЄ -Ёа®ў -Ёп...
@cd /d %scan% && ecls /aind /boots /files C: D: /subdir^
/rtp /sfx /pattern /adv-heur /preserve-time /action=prompt /log-file=C:\BIN\log.txt
@rem Переход в папку с отчетом
@echo ЋЎа Ў®вЄ ¤ --ле ®взҐв ...
@cd /d %file% && log.txt
@rem Удаление использованных переменных
@echo “¤ «Ґ-ЁҐ ЇҐаҐ¬Ґ--ле б«г¦Ў...
@set scan=
@set file=
@rem Завершения пакетного файла
@echo ‡ ўҐаиҐ-ЁҐ а Ў®вл...
@exit /b