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

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

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


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

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


В общем то все работает, и практически как надо, но есть небольшое "но"
в лог включаются папки с прошлыми датами, а этого как бы и не надо...
Имеется следующий код:
Код: Выделить весь код
@echo off

setlocal

set _fn=*%date:~-4%%date:~3,2%%date:~0,2%*.avi
set _log=video_surve.log
set _errlog=video_surve_error.log
set _i=0
set smtp=192.168.200.2
set from=xxxx@xxxx.ru 
set to1=xxxx@xxxx.ru
set to2=xxxx@xxxx.ru
set mess=VideoServer-%computername%-OK!
set err_mess=VideoServer-%computername%-ERROR!

if exist %_log% del %_log%
if exist %_errlog% del %_errlog%

echo Дата: %date% Время: %time% Сервер: %computername% >> %_log% 
echo. >> %_log% 

echo Дата: %date% Время: %time% Сервер: %computername% >> %_errlog% 
echo. >> %_errlog% 

for /f "tokens=*" %%a in ('dir /b/ad/s "D:\videodata\" "F:\videodata\"') do (
   if /i exist %%a\%_fn% (
      echo в папке %%a - есть следующие файлы: >> %_log% 
      dir /b %%a >> %_log%
      set /a _i=%_i%+1
      ) else (
      echo в папке %%a - файлов за %date% НЕТ >> %_errlog%
   )
)
if %_i%==0 (
   postie.exe -host:%smtp% -s:%err_mess% -to:%to1% -from:%from% -charset:Windows-1251 -file:%_errlog% -log:log_mail.txt -v
   postie.exe -host:%smtp% -s:%err_mess% -to:%to2% -from:%from% -charset:Windows-1251 -file:%_errlog% -log:log_mail.txt -v
   )
if %_i%==1 (
   postie.exe -host:%smtp% -s:%mess% -to:%to1% -from:%from% -charset:Windows-1251 -file:%_log% -log:log_mail.txt -v
   postie.exe -host:%smtp% -s:%mess% -to:%to2% -from:%from% -charset:Windows-1251 -file:%_log% -log:log_mail.txt -v
   )

endlocal
как вот его можно оптимизировать, чтобы он искал по следующим путям:
D(F):\videodata\camXX\mmdd,
где
XX - цифровое обозначение от 1 и до 99
mmdd - папки, имена которых состоят из месяца (mm) и даты (dd)

Отправлено: 11:06, 10-02-2011 | #8