Weiß jemand, wie man mit der Windows-Eingabeaufforderung ein Unterverzeichnis in einem Quellverzeichnis löscht, das im Zielverzeichnis nicht vorhanden ist?

Weiß jemand, wie man mit der Windows-Eingabeaufforderung ein Unterverzeichnis in einem Quellverzeichnis löscht, das im Zielverzeichnis nicht vorhanden ist?

Ich versuche, eine BAT-Datei zu erstellen, die Dateien und Ordner synchronisiert, und bin bisher zu Folgendem gekommen:

xcopy "C:\Users\user pc\Google Drive" "J:\Google drive offline backup" /d /e /f /h /i /j /k /r /s /y /z
for %%F in ("J:\Google drive offline backup\*") do if not exist "C:\Users\user pc\Google Drive\%%~nxF" del "%%~fF"

Dabei werden grundsätzlich nur die neu erstellten oder geänderten Dateien oder Verzeichnisse aus dem Quellverzeichnis in das Zielverzeichnis kopiert. Anschließend werden die Dateien aus dem Zielverzeichnis gelöscht, die im Quellverzeichnis nicht vorhanden sind.

Nun besteht das Problem darin, dass ich auch gerne wissen möchte, wie man Unterverzeichnisse im Zielverzeichnis löscht, die im Quellverzeichnis nicht vorhanden sind.

Bitte kritisieren Sie meine Codes nicht, wenn sie schlecht gemacht sind. Ich bin ein Anfänger in Sachen Eingabeaufforderung.

Antwort1

Wenn Ihr Windows neu genug ist (>= Windows XP), empfehle ich robocopy. Beispiel:

robocopy "C:\Benutzer\Benutzer-PC\Google Drive" "J:\Google Drive Offline-Backup" /MIR

verwandte Informationen