我正在使用这个小批处理文件来存档我的文件。
:: Move the files
robocopy P:\Folder1 Q:\Folder2 /move /e /minage:60
:: Delete empty folders
q:
cd Folder2
for /f "tokens=*" %%d in ('dir /ad/b/s ^| sort /R') do rd "%%d"
pause >nul
然而,问题是我的很多文件夹都包含不同年龄的文件。我最终在源和目标中分离了文件夹。
请帮助我让bat文件仅移动所有文件超过60天的文件夹?
由于
答案 0 :(得分:0)
首先在仅列表模式下运行robocopy,如果没有“太新”文件,则执行实际的移动操作:
robocopy P:\Folder1 Q:\Folder2 /s /minage:60 /L /V /njh /njs | find "too new" >nul
if %errorlevel% EQU 0 (
robocopy P:\Folder1 Q:\Folder2 /move /s /minage:60
)
pause >nul
使用/s
参数代替/e
,无需删除空文件夹。