bat Datei: Pfad mit Leerzeichen übergeben

MrPHP

Mitglied
Hi!

Ich möchte einem Batch Programm einen Pfad übergeben und habe Probleme mit Leerzeichen im übergebenen String.

Ich bekomme diese Fehlermeldung, wenn ich "C:\Dokumente und Einstellungen" übergebe (mit oder ohne Anführungszeichen):

"und" ist syntaktisch an dieser Stelle nicht verarbeitbar.

Also wird ab dem Leerzeichen abgeschnitten. Der Programmteil vor dem echo (hab's mal probiert auszugeben, kommt aber nix) bzw. copy Befehl funktioniert.

Is' wahrscheinlich ganz einfach (wenn man's weiss!).
 
Schreib doch mal bitte die Zeile in der du den Parameter verwendest.
Manchmal kanns helfen den auch nochmal in Anführungszeichen einzuschließen: "%1"
 
Aufruf:
install.bat "C:\Dokumente und Einstellungen"

Hier die Zeile:
xcopy %1 *.*


Ich habe eben in einem Tutorial gelesen, dass Anführungszeichen im Parameter erst ab Dos 7 interpretiert werden. Sehr schade. Muss ich wohl eine Routine schreiben, die mir alle Parameter in eine Variable schreibt.

Wenn jemand einen besseren Weg weiss, trotzdem her damit!
 
änder den aufruf entsprechend so ab:

install.bat c:\docume~1

die kurzform von dateinamen sieht so aus:
es werden 6 zeichen des dateinamens genommen, leerzeichen werden dabei entfernt. es wird eine ~ und eine vortlaufende nummer angehängt
und dann eine eventuelle erweiterung

das wetter ist schön.doc
hätte also daswet~1.doc als dateiname...

ne andere möglichkeit das problem zu lösen is mir nich bekannt.
 
Versuchs mal mit
xcopy "%1" *.*
Die Übergabe von Dateinamen mit Leerzeichen funktioniert schon, aber ohne die Anführungszeichen erkennt xcopy ihn nicht als einen Parameter.
 

Neue Beiträge

Zurück