如何让 robocopy 删除目标目录中排除的文件

如何让 robocopy 删除目标目录中排除的文件

我有一个跨平台构建工具链,它将一些文件夹复制到目标。我robocopy在 Windows 和rsyncmacOS 上使用它,因为它们支持控制台进度输出。命令的形式如下:

robocopy "C:\Some\Source" "C:\Some\Destination" /MIR
rsync -a --progress --delete "/Some/Source/" "/Some/Destination"

但现在我遇到了一种情况,我需要排除一些可能出现在源目录中的文件。如果它们之前在目标目录中,我需要将它们删除。rsync--delete-excluded选项:

rsync -a --progress --delete-excluded --exclude '*.jpg' "/Some/Source/" "/Some/Destination"

但我无法robocopy使用该选项来实现这样的效果/XF

robocopy "C:\Some\Source" "C:\Some\Destination" /MIR /XF *.jpg

robocopy将旧的排除文件保留在目标位置。有没有办法让其robocopyrsync使用该--delete-excluded选项一样运行?我知道我可以稍后扫描目标树以使用另一个命令删除排除的文件,但我想这样做,robocopy因为树真的很大,我想通过复制操作节省时间。

相关内容