Ich verwende eine Batch-Datei für Backups. Ich gebe die Optionen an eine Funktion weiter, die die ausführbare Verpackung aufruft. Dies funktioniert, wenn die Parameter keine Leerzeichen enthalten. Dies ist der relevante Code:
%Vor%Auf XP (deutsche Version)% DIRUSER% expandiert zu "Dokumente und Einstellungen"
In diesem Fall ist TARGET korrekt, aber FILES == "Dokumente" und EXCLUDE == "und", Das bedeutet, dass das Skript aufgrund der Leerzeichen in% DIRUSER% fehlschlägt.
Wie kann ich das beheben?
Das Problem scheint Ihre Art der Zuweisung der Variablen zu sein.
Ich nehme an, du stellst die DIRUSER-Variable wie die anderen ein
Aber der Inhalt von DIRUSER ist dann "Dokumente und Einstellungen"
, also sind die Zitate ein Teil des Inhalts.
Aber dann wird SET FILES="%DIRUSER%\Eigene Dateien\*"
auf SET FILES=""Dokumente und Einstellungen"\Eigene Dateien\*"
erweitert.
Sie könnten den erweiterten Stil von set
verwenden.
set "var=content"
Dies setzt den Inhalt von var
auf content
ohne Anführungszeichen und alle hinter dem letzten Zitat angefügten Leerzeichen werden ignoriert.
Also wäre dein Code
%Vor%Tags und Links windows batch-file spaces