2013-09-05 10 views

Antwort

31

können Sie% ~ 1 statt% 1 verwenden

zB ein test.bat mit:

echo %~1 

dann ein Aufruf an test "abc de" anzeigt:

abc de 
+0

das, was ich gefunden habe Diese Frage: http://stackoverflow.com/questions/473117/pass-path-with-spaces-as-parameter-to-bat-file – magdmartin

10

, was Sie tun können, ist

>batch.bat "ab cd.txt" 

Wenn die Parameter Leerzeichen enthalten, können Sie sie in Anführungszeichen setzen.

+0

zwei Dinge, ich Ich kann die Erweiterung in meinen Parametern nicht hinzufügen, da sie irgendwo in meinem Batch-Skript verwendet wird, ansonsten ohne die Dateierweiterung. Zweitens, wenn ich Zitat hinzufügen, gibt es im Dateinamen hinzugefügt (siehe letzte Beispiel meiner Fragen) – magdmartin

+0

Nun, in diesem Fall, ich denke, das Problem ist nicht mit der Übergabe von Parametern, es ist mit der Programmierung in Batch-Datei. Sie können dies überprüfen, indem Sie mit diesem einfachen Zeilenecho% 1 eine einfache Batch-Datei erstellen, die den vollständigen Namen "ab cd" enthält. Es bedeutet, dass Sie die Parameter korrekt übergeben, aber irgendwo in der Batch-Datei ist es nicht richtig behandelt. Irgendwo versucht es, den Dateinamen neu zu erstellen, indem er auseinander bricht und Erweiterung hinzufügt. –

+0

zustimmen. Ich muss tatsächlich% ~ 1 anstelle von% 1 in meinem Skript verwenden – magdmartin

Verwandte Themen