Ich bin neu im Schreiben von Skripten und kann dieses nicht zum Laufen bringen. Ich könnte, wenn ich die Dateien in einen Pfad ohne Leerzeichen verschieben würde, aber ich möchte, dass es mit dem Leerzeichen funktioniert, wenn es könnte.
Ich möchte eine Reihe von Office-Updates in einen Ordner mit einer CMD-Datei extrahieren. Um die Batchdatei auf jedem Computer verwendbar zu machen, habe ich eine Pfadvariable festgelegt, die ich nur an einer Stelle ändern muss, um sie auf einem anderen Computer auszuführen. Das Problem ist, dass der Pfad ein Leerzeichen enthält. Wenn ich den Pfad in der Definition in Anführungszeichen setze, setzt cmd.exe sie um den Pfad, bevor der Dateiname angehängt und gewechselt wird und der Stapel mit "Befehlszeilensyntaxfehler" fehlschlägt. Ohne Anführungszeichen schlägt dies fehl mit: "Wird nicht als interner oder externer Befehl, bedienbares Programm oder Batchdatei erkannt."
Zum Testen verwende ich den Hilfeschalter, bis ich ihn zum Laufen bringen kann. Ich kann es mit einem 8.3-Datei- / Ordnernamen tun (z. B. Eigene Dateien als MyDocu ~ 1), aber kann es auch anders gemacht werden?
Antworten:
Versuchen Sie so etwas:
quelle
ich benutze
beim Aktualisieren des Pfads:
quelle
Hier gibt es zwei Möglichkeiten. Zuerst können Sie den Pfad ohne Anführungszeichen speichern und später einfach zitieren:
Eine andere Option, die Sie verwenden können, ist eine Unterroutine, die alles zum Aufheben der Anführungszeichen von Zeichenfolgen verwendet (in diesem Fall ist dies jedoch keine sehr gute Idee, da Sie Anführungszeichen hinzufügen, entfernen und ohne Nutzen erneut hinzufügen):
Das
%~1
entfernt Anführungszeichen um das Argument. Dies ist praktisch, wenn Ordnernamen in Anführungszeichen gesetzt werden, aber wie bereits erwähnt, ist es in diesem speziellen Fall nicht die beste Idee :-)quelle
set LALA=%~1
war das, was für mich funktioniert hat.Versuche dies;
Erstellen Sie eine Variable wie unten
Ersetzen Sie dann den Pfad durch Variable. Stellen Sie sicher, dass Sie Anführungszeichen für Start und Ende hinzufügen
quelle
Ich setze den Pfad immer in doppelte Anführungszeichen, wenn ich eine .bat-Datei erstelle. (Ich habe gerade die PAUSE hinzugefügt, damit der Bildschirm nicht geschlossen wird.)
Beispielsweise:
quelle
Der richtige Weg, dies zu tun, ist wie folgt:
quelle
Der einfachste Weg, um dieses Problem zu beheben, besteht darin, den Ordnernamen in Anführungszeichen zu setzen:
(cd\New Folder\...) --> (cd\"New Folder"\...)
Hoffe das hilft.
quelle
Wenn Sie einen permanenten Pfad speichern müssen (der Pfad wird beim Neustart von cmd nicht geändert)
Führen Sie die Eingabeaufforderung als Administrator aus (Klicken Sie mit der rechten Maustaste auf cmd.exe und wählen Sie Als Administrator ausführen).
In cmd
setx path "%path%;your new path"
dann eingebenÜberprüfen Sie, ob der Pfad korrekt ist, indem Sie path eingeben und die Eingabetaste drücken
quelle
Versuchen Sie auch einfach, doppelte Schrägstriche hinzuzufügen, da dies nur für mich funktioniert
set dir = "C: \\ 1. Einige Ordner \\ Andere Ordner \\ Nur weil"
@echo auf MKDIR% dir%
OMG nach dem Posten haben sie das zweite \ in meinem Beitrag entfernt. Wenn Sie also meinen Kommentar öffnen und drei anzeigen, sollten Sie sie als zwei lesen ......
quelle