Wie kann ich Leerzeichen in der Windows-Befehlszeile verwenden?
cmd /C C:\Program Files (x86)\WinRar\Rar.exe a D:\Hello 2\File.rar D:\Hello 2\*.*
Einfache Anführungszeichen reichen in diesem Fall nicht aus. Sie müssen um jeden Pfad Anführungszeichen setzen und den gesamten Befehl in Anführungszeichen setzen:
cmd /C ""C:\Program Files (x86)\WinRar\Rar.exe" a "D:\Hello 2\File.rar" "D:\Hello 2\*.*""
cmd /C
CEEMEA & LATAM.doc
. Was soll ich machen?"C:\Program Files\WinRAR\rar" a -agmmddyy -x*CEEMEA & LATAM.doc ".rar"
Ich habe gerade herausgefunden, dass für einen Fall, in dem der Pfad Leerzeichen verwendet, beispielsweise wenn ich auf die App zugreifen muss,
xyz
welcher Speicherort:Um dies über die Windows-Cmd-Eingabeaufforderung auszuführen, müssen Sie verwenden
oder
quelle
Wenn doppelte Anführungszeichen das Problem nicht lösen, versuchen Sie es z
um eine Liste alternativer Datei- oder Verzeichnisnamen zu erhalten. Beispielausgabe:
Verwenden Sie nun in Ihren Befehlen den kurzen 8-stelligen Datei- oder Ordnernamen in der 5. Spalte, z. B. PROGRA ~ 1 oder DEFAUL ~ 1.XML. Zum Beispiel:
quelle
Schließen Sie die Pfade mit Leerzeichen in doppelte Anführungszeichen ein.
quelle
Rar.exe
tatsächlich lautet. Möglicherweise verwenden Sie es falsch. Vielleicht versuchen"D:\Hello 2\"
oder"D:\Hello 2"
statt"D:\Hello 2\*.*"
?CEEMEA & LATAM.doc
. Was soll es sein"C:\Program Files\WinRAR\rar" a -x*CEEMEA & LATAM.doc ".rar"
Versuchen Sie, komplexe Pfadnamen in doppelten Anführungszeichen anzugeben (und fügen Sie am Ende Dateierweiterungen für Dateien hinzu.)
Für Dateien:
Für Verzeichnis:
CMD interpretiert Text mit doppelten Anführungszeichen ("xyz") als eine Zeichenfolge und Text in einfachen Anführungszeichen ('xyz') als Befehl. Beispielsweise:
Und eine gute Sache, cmd unterscheidet nicht zwischen Groß- und Kleinschreibung wie Bash. "New fiLE.txt" und "new file.TXT" sind also ähnlich.
* Hinweis: Bei den Variablen %% A im obigen Fall wird zwischen Groß- und Kleinschreibung unterschieden (%% A ungleich %% a).
quelle
Ich ziehe es vor, den
()
gültigen Befehl einzuschließen,batch
was das Lesen etwas erleichtert:quelle
Das hat bei mir in einer Batch-Datei funktioniert
quelle
Fügen Sie einfach ein Anführungszeichen hinzu
Beispiel: "C: \ Benutzer \ Benutzername"
Hoffe es wurde gelöst!
quelle
Sie sollten versuchen, Anführungszeichen zu verwenden.
quelle
Leerzeichen in der Eingabeaufforderung (in einer VBA-Shell-Befehlscodezeile)
Ich hatte ein sehr ähnliches Problem, das bei der Automatisierung über VBA ein Leerzeichen in der Eingabeaufforderung war, um den Inhalt aus dem Befehlsfenster in eine Textdatei zu übertragen. Dieser Thread war einer von vielen, die ich auf dem Weg gefangen habe und die mir nicht ganz die Lösung gebracht haben.
Dies kann anderen bei einem ähnlichen Problem helfen: Da es immer schwierig ist, die Syntax mit Anführungszeichen zu korrigieren, halte ich es immer für nützlich, einige spezifische Beispiele zu zeigen. Das zusätzliche Problem, das Sie bei der Verwendung der Eingabeaufforderung in VBA über das Shell-Ding erhalten, ist, dass die Codezeile häufig nicht fehlerhaft ist, wenn etwas schief geht: Tatsächlich führt ein Blinken des schwarzen Empfehlungsfensters dazu, dass etwas getan wurde.
Als Beispiel ... sagen wir, ich habe einen Ordner mit einer Textdatei wie bei
C: \ Alans Folder \ test1.txt ( https://imgur.com/FELSdB6 )
Der Platz im Ordnernamen gibt das Problem an.
So etwas würde funktionieren, vorausgesetzt, der Ordner AlansFolder existiert
Das wird nicht funktionieren. (Es wird kein Fehler).
Wenn Sie Anführungszeichenpaare um den Pfad einfügen, funktioniert dies
(Übrigens, wenn die Textdatei nicht existiert, wird sie erstellt).
Im Nachhinein können wir sehen, dass meine Lösung in etwa mit einigen bereits gegebenen übereinstimmt.
Konvertieren Sie diese Codezeile in einen manuellen Befehl, den wir hätten
Das scheint zu funktionieren
Das funktioniert auch
Das geht nicht
Diese endgültige Form funktioniert auch und knüpft an die Lösung von Sacra an. “ Sie müssen um jeden Pfad Anführungszeichen setzen und den gesamten Befehl in Anführungszeichen setzen “… ..
quelle
Es kann dieses Problem mit dem Befehl cd lösen. Dieser Befehl versteht Leerzeichen ohne doppelte Anführungszeichen und Sie können jedes Programm folgendermaßen aufrufen:
C: \ Windows \ system32> cd c: \ Programme \ MongoDB \ Server \ 3.2 \ bin
c: \ Programme \ MongoDB \ Server \ 3.2 \ bin> Die Eingabeaufforderung von mongo now ruft mongo.exe auf
quelle