Ich habe eine plattformübergreifende Build-Toolchain, die einige Ordner zum Ziel kopiert. Ich verwende sie robocopy
unter Windows und rsync
unter macOS, da sie die Ausgabe des Fortschritts auf der Konsole unterstützen. Die Befehle hatten folgende Form:
robocopy "C:\Some\Source" "C:\Some\Destination" /MIR
rsync -a --progress --delete "/Some/Source/" "/Some/Destination"
Aber jetzt stehe ich vor einer Situation, in der ich einige Dateien ausschließen muss, die möglicherweise im Quellverzeichnis erscheinen. Und ich muss sie im Ziel löschen, wenn sie vorher dort waren. rsync
hat --delete-excluded
die Option:
rsync -a --progress --delete-excluded --exclude '*.jpg' "/Some/Source/" "/Some/Destination"
Mit der folgenden Option kann ich jedoch keine robocopy
Aktion dieser Art erreichen /XF
:
robocopy "C:\Some\Source" "C:\Some\Destination" /MIR /XF *.jpg
robocopy
behält alte ausgeschlossene Dateien am Ziel. Gibt es eine Möglichkeit, mit dieser Option robocopy
ein ähnliches Verhalten zu erzielen ? Ich weiß, dass ich den Zielbaum später mit einem anderen Befehl scannen kann, um ausgeschlossene Dateien zu entfernen, aber ich würde dies gerne mit tun, weil der Baum wirklich riesig ist und ich Zeit beim Kopiervorgang sparen möchte.rsync
--delete-excluded
robocopy