Цитата fabble86@vk:
Нужно чтобы данный батник работал в конкретной папке. »
|
Указывайте конкретные папки и маску в Call :DirBack
Код:
@Echo Off
Call :DirBack "Z:\Box_Arc\Папка с бэкапами 1\" "20??_??_??_*.dt"
Call :DirBack "Z:\Box_Arc\Папка с бэкапами 2\" "20??_??_??_*.dt"
Call :DirBack "Z:\Box_Arc\Папка с бэкапами 3\" "20??_??_??_*.dt"
GoTo :Eof
:DirBack
Set "Last="
Set "Ext="
FOR /F "usebackq tokens=1,2,3* delims=_" %%i IN (`Dir /B /A:-D /O:EN "%~1%~2" 2^>nul`) DO Call :DelBack "%~1" "%%i" "%%j" "%%k" "%%l"
GoTo :Eof
:DelBack
If "%Last%"=="%~2%~3" If "%Ext%"=="%~x5" Del "%~1%~2_%~3_%~4_%~5" &GoTo :Eof
Set "Last=%~2%~3"
Set "Ext=%~x5"
GoTo :Eof
Цитата fabble86@vk:
а чтобы батник работал в конкретной папке, в которой он находится.... ? »
|
В этом случае оставьте один
Call :DirBack
Код:
Call :DirBack "%~dp0" "20??_??_??_*.dt"
Если в папке находятся файлы по датам с разным расширением, и по каждому расширению надо оставить только один файл за месяц, укажите маску
"20??_??_??_*.*"