Не будем вычислять дату завтрешнего дня - не нужно это. Нам надо переместить файл с датой в имени больше чем сегодняшняя. Если сегодня 02.06.2014, преобразуем сегодняшнюю (текущую системную) дату к числу 140602, из имени файла SL030614.DBF вычленим его дату и тоже преобразуем в число 140603. Файл(ы) с датой больше сегодняшней, то есть 140603>140602 перемещаем куда надо, остальные не трогаем
Код:

@Echo Off
Set "Maska=Z:\SLTEST\sl??????.dbf"
Set "Out=Z:\Finish\"
Set "Now=%Date:~8,2%%Date:~3,2%%Date:~0,2%"
SetLocal EnableExtensions EnableDelayedExpansion
FOR %%f IN ("%Maska%") DO (
Set "fname=%%~nxf"
Set "fdate=!fname:~6,2!!fname:~4,2!!fname:~2,2!"
If !fdate! GTR %Now% Move /Y "%%f" "%Out%" >nul
)
А если уж совсем не думать о датах (это возможно, если в архиве хранятся предыдущие файлы и в исходную папку исходный файл попадает один раз) то получится еще проще, переносим файл(ы), которого нет в архиве
Код:

@Echo Off
Set "Maska=Z:\SLTEST\sl??????.dbf"
Set "Out=Z:\Finish\"
FOR %%f IN ("%Maska%") DO if not exist "%Out%%%~nxf" Move "%%f" "%Out%" >nul
firstarey,
Цитата:
скрипт не учитывает количество дней в месяце и будет искать архив за 32 число, если запущен 31
но думаю 1 день не критично
|
не совсем въехал, Ваш скрипт каждый последний день месяца будет работать криво? Искать несуществующий завтрашний день, при этом игнорировать реальный?
