我有一個跨平台建立工具鏈,它將一些資料夾複製到目的地。我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
因為樹確實很大,我想透過複製操作節省時間。