Problem mit "cd" in einer Batchdatei

mayflower

Neu angemeldet
Registriert
13 Jan. 2016
Beiträge
32
Hallo,

ich habe hier ein Problem mit cd in einer Batchdatei. Ich möchte von einer Batchdatei auf Laufwerk J: aus Dateien umbenennen die in einem Ordner (mit Leerzeichen im Pfad) ändern der auf Laufwerk E: liegt. Das ganze sieht so aus:

[src=text]cd "e:\pfad\zum\ordner mit leerzeichen"
ren alt.txt neu.txt[/src]

Führe ich diese Batchdatei aus während sie direkt unter E: liegt geht es, liegt sie direkt unter J: oder in einem Unterordner von J: geht es nicht. Es wird das hier ausgegeben:

[src=text]J:\>cd "e:\pfad\zum\ordner mit leerzeichen"

J:\>ren alt.txt neu.txt
Das System kann die angegebene Datei nicht finden.[/src]

Wie man sieht wechselt er nicht nach E:, sondern versucht die Datei unter J. zu finden. Ich habe es auch schon in 2 Schritten versucht mit

[src=text]cd E:\
cd "pfad\zum\ordner mit leerzeichen"[/src]

Was mach ich dalsch?

mayflower
 
Probier mal

[src=text]E:
cd "pfad\zum\ordner mit leerzeichen"
[/src]

Also das "E:" ohne "cd" davor.
 
Genau so wird's gemacht. Laufwerkswechsel muss immer manuell gemacht werden sonst wird der angegebene Befehl trotz Pfadangabe im aktuellen Verzeichnis ausgeführt.
 
Alternativ könnte man auch den kompletten Pfad in den Rename-Befehl mit aufnehmen:

[src=powershell]ren "e:\pfad\zum\ordner mit leerzeichen\alt.txt" neu.txt[/src]
 
Genau so wird's gemacht. Laufwerkswechsel muss immer manuell gemacht werden sonst wird der angegebene Befehl trotz Pfadangabe im aktuellen Verzeichnis ausgeführt.
Nein muss man nicht.

[src=text]cd /?
Wechselt das Verzeichnis oder zeigt dessen Namen an.

CHDIR [/D] [Laufwerk:][Pfad]
CHDIR [..]
CD [/D] [Laufwerk:][Pfad]
CD [..]

.. Gibt an, dass Sie in das übergeordnete Verzeichnis wechseln möchten.

Geben Sie "CD Laufwerk:" ein, um das aktuelle Verzeichnis auf dem angegebenen
Laufwerk anzuzeigen. Mit CD ohne Parameter wird das aktuelle Laufwerk und
Verzeichnis angezeigt.

Verwenden Sie die /D-Option, um zusätzlich zum Wechseln des Verzeichnisses
auch das aktuelle Laufwerk zu wechseln.

Wenn die Befehlserweiterungen aktiviert sind, wird CHDIR folgendermaßen
verändert:

Der angegebene Verzeichnisname wird so konvertiert, dass dieser bezüglich
Groß- und Kleinschreibung dem Namen auf dem Laufwerk entspricht. So wird durch
CD C:\TEMP der aktuelle Pfad auf das Verzeichnis C:\Temp festgelegt, wenn ein
Verzeichnis mit diesem Namen auf dem Laufwerk existiert.

Der CHDIR-Befehl behandelt Leerzeichen nicht als Begrenzungszeichen, so dass es
möglich ist, in ein Unterverzeichnis zu wechseln, dessen Name Leerzeichen
enthält, ohne diese mit Anführungszeichen einzuschließen. Beispiel:

cd Eigene Dokumente

ist dasselbe wie:

cd "Eigene Dokumente"

Wenn die Befehlserweiterungen nicht aktiviert sind, müssen die Anführungs-
zeichen angegeben werden.[/src]



Hallo,

ich habe hier ein Problem mit cd in einer Batchdatei. Ich möchte von einer Batchdatei auf Laufwerk J: aus Dateien umbenennen die in einem Ordner (mit Leerzeichen im Pfad) ändern der auf Laufwerk E: liegt. Das ganze sieht so aus:

[src=text]cd "e:\pfad\zum\ordner mit leerzeichen"
ren alt.txt neu.txt[/src]

Führe ich diese Batchdatei aus während sie direkt unter E: liegt geht es, liegt sie direkt unter J: oder in einem Unterordner von J: geht es nicht. Es wird das hier ausgegeben:

[src=text]J:\>cd "e:\pfad\zum\ordner mit leerzeichen"

J:\>ren alt.txt neu.txt
Das System kann die angegebene Datei nicht finden.[/src]

[src=text]cd /d "e:\pfad\zum\ordner mit leerzeichen"
ren alt.txt neu.txt[/src]
 
  • Thread Starter Thread Starter
  • #6
Ich versuch mal den LW-Wechsel ohne cd.

Alternativ könnte man auch den kompletten Pfad in den Rename-Befehl mit aufnehmen:

[src=powershell]ren "e:\pfad\zum\ordner mit leerzeichen\alt.txt" neu.txt[/src]

Das hatte ich versucht, aber mit dem vollen Pfad im neuen und alten Dateinamen. Da hat er den Pfad als Dateiname interpretiert.
 
Korinthen-Kackmode On - Damit wird der Laufwerkswechsel auch extra gemacht, nur halt als Parameter statt als Befehl : )
 
Zurück
Oben