Robocopy 文件夹如果文件夹中的所有文件都超过 60 天
Robocopy folder IF ALL files in the folder are older than 60 days
我正在使用这个小批处理文件来归档我的文件。
:: 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 天的文件夹吗?
谢谢
首先 运行 仅列表模式下的 robocopy,如果没有 "too new" 文件,则执行实际的移动操作:
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
,希望不需要删除空文件夹。
我正在使用这个小批处理文件来归档我的文件。
:: 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 天的文件夹吗?
谢谢
首先 运行 仅列表模式下的 robocopy,如果没有 "too new" 文件,则执行实际的移动操作:
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
,希望不需要删除空文件夹。