Wie kann ich bei cmd in ein übergeordnetes Verzeichnis wechseln?

6 Antworten

Gib doch den absoluten Pfad an.

Wenn du sagst "zwei ordner zurück springen" und du dich im Ordner C:\Dateiensammlung\Programme\ befindest, dann ist das logischerweise C:\

Ansonsten "cd.." wechselt immer genau eine Ebene nach oben.

Korrigiere mich bitte, aber ich habe dein Anliegen so verstanden:

Auf einem USB-Stick befindet sich in F:\Dateiensammlung\Programme\ eine Batch mit dem Namen Progamm.cmd

Auf dem gleichen USB-Stick befindet sich im Pfad F:\Neue Dateien\ ein Textdokument mit dem Namen Neues Textdokument.txt

Dein Problem ist, dass der Laufwerksbuchstabe variable ist, sich also ändert, sobald du den USB-Stick entfernst und wieder reinsteckst.

Hier der Code dafür:

@ECHO OFF && SETLOCAL ENABLEDELAYEDEXPANSION

FOR /F "tokens=1 delims=\" %%A IN ("F:\Dateiensammlung\Programme") DO (
	SET "newPath=%%A\Neue Dateien"
	CALL "!newPath!\Neues Textdokument.txt"
)    

Die For-Schleife widmet sich der Zeichenfolge F:\Dateiensammlung\Programme und speichert das erste Token, welches durch ein Backslash getrennt ist, in die Variable %%A (das wäre F:). Der Befehl SET wird ausgeführt und wir erstellen eine neue Variabel, bestehend aus %%A (welches ja F: ist) und \Neue Dateien. Dadurch ergibt sich die Kombination F:\Neue Dateien. Zu guter letzt rufen wir mit CALL die neue Variabel, kombiniert mit \Neues Textdokument.txt auf.

Ergo steht am Ende vereinfacht:

CALL "F:\Neue Dateien\Neues Textdokument.txt"

Sofern ich dich richtig verstanden habe, sollte das funktionieren; und nur für dein jetziges Anliegen!

:}

Das ganze soll als .bat später gespeichert werden? Dann kannst du einfach "start c:\Beispielpfad\"Neues Textdokument.txt" " nutzen

Das Problem dabei ist nur das das ganze auf einem USB Stick gestartet wird und sich dort ja immer der Laufwerksbuchstabe ändert

0

BATCH-Datei Befehle: "@ECHO OFF", "REM", "ECHO" usw. -- FUNKTIONIEREN NICHT

Ich schreibe gerade ein Backup-Script per Batch Datei um einige Dateien in einem rutsch in die Cloud zu sichern.

Das Script Ansich ist überhaupt kein Problem, die Batch Sprache verstehe ich super und seit ca. 20 Jahren. Offensichtlich habe ich da ein anderes Problem. Vielleicht könnt ihr es mal bei Euch testen und mir sagen was bei Euch passiert?

Wenn ich also eine Batch Datei schreibe, möchte ich z.B. nicht dass die Befehle(Befehlszeile) angezeigt werden, deswegen beginne ich meine Batch-Datei mit einem:

@ECHO OFF

Dann kommt der Rest vom Script usw.

Ich bekomme allerdings eine Fehlermeldung bei der Stapelverarbeitung, bevor der erste Befehl aufgeführt wird.

Beispiel:

@echo off
REM Dieses ist ein Test um zu zeigen das etwas nicht stimmt.
ECHO Dieses ist ein Test.
pause

Wenn ich dieses kleine, Script(Batchdatei) ausführe kommt folgende Fehlermeldung:

Das System kann den angegebenen Pfad nicht finden.
Drücken Sie eine beliebige Taste . . .

Sowohl beim Doppelklick auf die Batchdatei selbst, als auch bei der Eingabe in der CMD Befehlszeile.

Interessanter Weise wird weder das @ECHO OFF noch das REM oder Echo korrekt interpretiert. Ich habe eine vermutung, dass die Batch als falsches Format abgespeichert wurde.

Ich Habe verschiedene Editoren benutzt. Notepad in der Standart Einstellung, Notepad ++ nehme ich Standardmäßig.

Ich habe die Kodierungen überprüft also ANSI oder UTF8.

Wenn ich im CMD Befehlszeilenfenster den Befehl "@ECHO OFF" oder "REM" oder "ECHO mit BLABLA" eingebe, funktionieren sie; also außerhalb der Batch Datei.

Ich habe keine Verknüpfung angelegt oder falsche Parameter angegeben, ich starte die Batch direkt aus einem Verzeichnis Namens: D:\Backup. Es sind keine Sonderzeichen enthalten, weder im Namen noch in irgendwelchen Verzeichnissen oder sonstwas.

Also meine Vermutungen sind :

--Falsches Format der Batch Datei <- Warum auch immer --Virus oder Schadprogramm, welches versucht über die Kommandozeile Schadcode einzuschleusen.

Also letztes hänge ich mal den Anfang meines Batch-Scripts für das Backup mit an, damit ihr mal sehen könnt, was mir da angezeigt wird.

@echo off
REM ################################################
REM #          Backup und Sicherungsscript         #
REM #                                              #
REM #                                              #
REM ################################################
pause

Ich habe am Ende eine pause mit eingefügt, damit die Stapelverarbeitung anhält.

Das ist die Ausgabe der Datei im Prompt:

D:\Backup>´╗┐@echo off
Der Befehl "´╗┐@echo off" ist entweder falsch geschrieben oder
konnte nicht gefunden werden.

Mein System:

AMD 3300T 8GB ATI HD 7850 usw, Windows 7 Deutsch/Home Premium - Original

Benutze Software: Windows 7, Notepad++, Notepad(Windows 7)

Ich hoffe ich konnte genug Informationen liefern, dass mir jemand helfen kann.

Vielen Dank grüße aus HH

...zur Frage

Was möchtest Du wissen?