![]() |
%DATE% минус рабочий день.
Добрый день,
Есть две директории одна( D:\STOPotchet\rar\ ) с архиво, другая (D:\STOPotchet\rar\date с фаилом подтверждений для архива. Необходимо при отсутствии файла подтверждений для соответствуещего архива, запускать скрипт. Вот что у меня вышло для статических папок, проверка работает. Проблема в том что эту проверку нужно запускать каждый день. в директории D:\STOPotchet\rar\ каждый день создается папка, с названием %DATE:~0,2%%DATE:~3,2%%DATE:~8,2%. А проверку нужно запускать для предыдущего РАБОЧЕГО дня. Может кто идей подкинет? @echo off if %1.==. exit SET FDIR=D:\STOPotchet\rar\ "C:\Program Files\WinRAR\rar.exe" x D:\STOPotchet\*.rar TRAFN*.arj D:\STOPotchet\rar\%DATE:~0,2%%DATE:~3,2%%DATE:~8,2%\ echo -------------------------------------------------------------------------------------------------- : проверим все ли отправили что подготовили for %%i in (D:\STOPotchet\rar\%DATE:~0,2%%DATE:~3,2%%DATE:~8,2%\*.arj) do call :ch %%~nxi goto end :ch SET FTRAFN=%1 SET FIZV=IZV_%FTRAFN:~6,12%.txt echo %DATE% %TIME% - %FTRAFN% - ищем %FIZV% if not exist %FDIR%\%FIZV% ( N:\send_psi.vbs "ALARM" echo %DATE% %TIME% - %FTRAFN% - ALARM ) exit /b goto end :------------------------------------------------------------------------------- :end |
Если кто не понял. Тут D:\STOPotchet\izv\ создаются папки вида 010203(дата)
Необходимо что бы тут SET FDIR=D:\STOPotchet\rar\ каким то образом выбиралась папка с датой предыдущего рабочего дня. |
Есть очень простое решение. Для начала вручную создаём файл Date.log и вписываем в него вчерашнюю дату в нужном формате. Далее:
Код:
@ECHO OFF |
Спасибо огромное, это то что мне было нужно! Все заработало.
|
Цитата:
Код:
@Echo Off При таком подходе обработку можно запускать хоть несколько раз, в случае же с лог-файлом после того, как он перепишется, информация о вчерашнем имени теряется и батник будет работать неправильно. |
Вот функция, которая показывает вчерашнюю дату:
Код:
@echo off |
Diskretor, Спасибо добрый человек, может пригодится, но для моих целей не подходит. Потому что в понедельник надо проверять папку за пятницу.
|
Время: 01:06. |
Время: 01:06.
© OSzone.net 2001-