Wie kann ich bei cmd in ein übergeordnetes Verzeichnis wechseln?
Hallo,
Ich möchte gern mit einem start Befehl in cmd eine Datei öffnen. Jedoch muss ich dazu zwei Ordner zurück springen. gibt es dafür einen einfache und kürze Lösung
Denn ich komme nicht mal ein Verzeichnis zurück also nicht mal in die Dateiensammlung.
@ echo off
(Auktueller Pfad: F:\Dateiensammlung\Programme\Progamm.cmd)
%cd ..%\"Neue Dateien"\"Neues Texdokument.txt"
pause
exit
6 Antworten
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!
:}
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.
Das ganze soll als .bat später gespeichert werden? Dann kannst du einfach "start c:\Beispielpfad\"Neues Textdokument.txt" " nutzen
Soll die Batch-Datei oder die Zieldatei auf dem Stick liegen?
Generell:
cd .. #einen ordner zurück
Oder du gehst gleich per cd auf den absoluten pfad
Wie schon gesagt Ich möchte das von einem UBS-Stick aus öffnen also ist der Laufwerksbuchstabe variabel.
Nur zum Verständnis:
Du hast am Ende ja 2 Dateien: einmal die Datei, die du öffnen möchtest und einmal die Datei, die du öffnest, also den Befehl den du als .bat speicherst.
Liegen beide Dateien auf dem gleichen Stick, oder liegt eine Datei auf dem PC?
Das Problem dabei ist nur das das ganze auf einem USB Stick gestartet wird und sich dort ja immer der Laufwerksbuchstabe ändert