Robocopy文件夹如果文件夹中的所有文件都超过60天

时间:2015-07-09 16:39:44

标签: batch-file robocopy

我正在使用这个小批处理文件来存档我的文件。

:: 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天的文件夹?

由于

1 个答案:

答案 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,无需删除空文件夹。