robocopy: Verzeichnisse ausschließen

robocopy: Verzeichnisse ausschließen

Ich verwende Robocopy zum Sichern von Dateien. Da ich einige Verzeichnisse ausschließen muss, habe ich zuerst den folgenden Schalter getestet:

/xd dirs t*

Es schließt erfolgreich alle Verzeichnisse aus, deren Name mit t beginnt. Das ist allerdings nicht wirklich das, was ich wollte. Was ich wirklich möchte, ist, die Verzeichnisse auszuschließen, deren Name mit thunderbird\cache beginnt, wie beispielsweise thunderbird\cache, thunderbird\cache2 usw. Also habe ich Folgendes ausprobiert:

/xd Verzeichnisse Thunderbird\Cache*

Robocopy beschwert sich jedoch darüber und sagt: „FEHLER: Ungültiger Parameter Nr. 7: „thunderbird\cache*““.

Wie lautet die Syntax für die Verwendung von Platzhaltern im Pfad?

Antwort1

Die /XDOption desrobocopyBefehlscheint Platzhalter zu akzeptieren, solange \im angegebenen Wert kein Pfadtrennzeichen vorhanden ist; cache*wird also akzeptiert, thunderbird\cache*wird es aber nicht.

Sie können dies umgehen, indem Sie den folgenden Code in Ihre Batchdatei einfügen:

set "DIRS= "
for /D %%I in ("thunderbird\cache*") do call set "DIRS=%%DIRS%%"%%~I" "
robocopy "D:\source" "D:\destination" *.* /XD %DIRS%

verwandte Informationen