如何使 robocopy 刪除目標目錄中排除的文件

如何使 robocopy 刪除目標目錄中排除的文件

我有一個跨平台建立工具鏈,它將一些資料夾複製到目的地。我robocopy在 Windows 和macOS 上使用,rsync因為它們支援控制台進度輸出。命令的形式如下:

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將舊的排除檔案保留在目標位置。有沒有辦法讓robocopy行為像rsync選項一樣--delete-excluded?我知道我可以稍後掃描目標樹以使用另一個命令刪除排除的文件,但我想這樣做,robocopy因為樹確實很大,我想透過複製操作節省時間。

相關內容