Помогите написать батник, копирующий файлы по дате изменения
Здравствуйте.
Ситуация следующая: надо в сетевой папке с огромной кучей файлов найти самый свежий по дате изменения и содержащий в названии определённые слова (на русском) и скопировать его в другую сетевую папку. Формат файлов - xls или xlsx. Названия файлов должны содержать слова "детских", "субсидий" (т. е. копировать надо будет два разных файла).
Помогите в написании, пожалуйста.
|
Код:
@Echo Off
rem Сохранить в 866 (Dos) кодировке если есть русские буквы
Set "In=F:\EXCEL"
Set "Out=E:\Delete"
Call :CopyMask "%In%","%Out%","*кассир*.xl*"
Call :CopyMask "%In%","%Out%","*Форма*.xl*"
GoTo :Eof
:CopyMask
FOR /F "usebackq delims=" %%f IN (`Dir "%~1\%~3" /B /A:-D /O:-D 2^>nul`) DO (
Copy "%~1\%%f" "%~2\" >nul
GoTo :Eof
)
|
megaloman, спасибо большое! А что дописать, чтобы он в конце показывал, что сделал? PAUSE не работает почему-то, отрабатывает и закрывается...
|
Код:
@Echo Off
rem Сохранить в 866 (Dos) кодировке если есть русские буквы
cls
Set "In=F:\EXCEL"
Set "Out=E:\Delete"
Call :CopyMask "%In%","%Out%","*ссир*.xl*"
Call :CopyMask "%In%","%Out%","*Форма*.xl*"
Pause
GoTo :Eof
:CopyMask
FOR /F "usebackq delims=" %%f IN (`Dir "%~1\%~3" /B /A:-D /O:-D 2^>nul`) DO (
Copy "%~1\%%f" "%~2\" >nul
If Exist "%~2\%%f" (
Echo Файл "%~1\%%f" скопирован в "%~2\"
) Else (
Echo Файл "%~1\%%f" НЕ скопирован в "%~2\"
)
GoTo :Eof
)
Echo Нет файлов "%~1\%~3"
|
Время: 09:57.
© OSzone.net 2001-