回复 22# onging
/mir 已经包含 /purge了。命令行不需要再添加了。
许多空文件夹的存在,你要先去看看,源文件夹是不是也有。
mir的清理功能,只能删除是源文件夹上没有,而目标文件夹还存在的。不是根据时间限制来清理的。
mir最终是达到1:1备份,/maxage 只能限制文件,对文件夹无效, /s 针对文件夹,复制包括子文件夹,但不复制空文件夹
综上,你的情况和目的到现在都没有表达清除。我只能靠猜测了
首先,你要是在空白的新目标文件夹下备份,就用下面的命令即可。这个时候,存在的文件和文件夹都是30天内的。- robocopy "d:\源文件夹" "e:\目标文件夹" /mir /s /maxage:30
复制代码 然后,如果你是在旧的备份目标文件夹下再次备份,那就需要多一条命令。用于清除过时的空文件夹。
当然,这个目标文件夹下除了上面的30天内的文件和文件夹,可能还存在一些过时的文件和非空文件夹,比如6月的,这个就是源文件夹下依然存在,所以/mir 给与保留的。- @echo off
- set "fd=e:\目标文件夹"
- for /f "delims=" %%d in ('dir /b /s /ad "%fd%" ^| sort /r') do rd "%%d"
- pause
复制代码
|