In welchem Verzeichnis liege ich? (fragt die Batch-Datei)
Wie bekomme ich innerhalb der Batch-Datei heraus, in welchem Verzeichnis sich selbige befindet?
Hallo zusammen. Ich bin neu. Grüß euch!
Ich scheine zu blöd zu sein, um das im Forum zu finden. Kann mir eigentlich nicht vorstellen, dass das soweit hergeholt ist.
Vielleicht ists aber auch nur so einfach, dass das eh alle wissen.
Die Frage sollte inzwischen klar sein, aber hier nochmal im Detail:
- Ich muss innerhalb einer Batch-Datei verschiedene Programme aufrufen.
- Diese liegen alle im selben Verzeichnis wie meine Batch-Datei.
- Allerdings wird die Batch-Datei von einem anderen Ordner aus aufgerufen.
- Das scheint zur Folge zu haben, dass die Programme in JENEM Ordner gesucht werden (und natürlich nicht gefunden werden).
- Nun will ich also den absoluten Pfad vor die jeweiligen Programme setzen.
- Allerdings kenn ich diesen nicht, und er kann auch nicht als Parameter an die Batch-Datei übergeben werden.
Lange Rede kurzer Sinn:
Wie heißt der Befehl/Parameter, in dem das Verzeichnis der 'eigenen' Batch-Datei steht?
Danke euch.
Gruß
tension
Hallo zusammen. Ich bin neu. Grüß euch!
Ich scheine zu blöd zu sein, um das im Forum zu finden. Kann mir eigentlich nicht vorstellen, dass das soweit hergeholt ist.
Vielleicht ists aber auch nur so einfach, dass das eh alle wissen.
Die Frage sollte inzwischen klar sein, aber hier nochmal im Detail:
- Ich muss innerhalb einer Batch-Datei verschiedene Programme aufrufen.
- Diese liegen alle im selben Verzeichnis wie meine Batch-Datei.
- Allerdings wird die Batch-Datei von einem anderen Ordner aus aufgerufen.
- Das scheint zur Folge zu haben, dass die Programme in JENEM Ordner gesucht werden (und natürlich nicht gefunden werden).
- Nun will ich also den absoluten Pfad vor die jeweiligen Programme setzen.
- Allerdings kenn ich diesen nicht, und er kann auch nicht als Parameter an die Batch-Datei übergeben werden.
Lange Rede kurzer Sinn:
Wie heißt der Befehl/Parameter, in dem das Verzeichnis der 'eigenen' Batch-Datei steht?
Danke euch.
Gruß
tension
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 31698
Url: https://administrator.de/forum/in-welchem-verzeichnis-liege-ich-fragt-die-batch-datei-31698.html
Ausgedruckt am: 12.05.2025 um 18:05 Uhr
9 Kommentare
Neuester Kommentar
Moin tension, Grüß Dich auch,
Demo:
Alternativ zum Setzen des per %~dp0 ermittelten Pfades vor alle untergeordneten Bätche kannst Du auch einmalig in der "ersten" Datei mit
Gruß
Biber
Demo:
(=13:01:15 D:\temp=)
>f:\Administrator\whereIam.bat
::-----snipp WhereIam.bat
@type %0
@echo %0 liegt in %~dp0
::-----snapp WhereIam.bat
f:\Administrator\whereIam.bat liegt in f:\Administrator\
PushD "%~dp0"
in dieses Verzeichnis wechseln und am Ende wieder mitPopD
den alten Zustand wiederherstellen.Gruß
Biber
Hi,
vielleicht steh ich auf der Leitung, aber irgendwie verstehe ich da was nicht.
Wenn Deine Programme unter z.B. c:\prog liegen und Deine Batch unter c:\bat, Du den Pfad c:\prog nicht weißt, was nützt es Dir dann zu wissen, daß die Batch in c:\bat liegt?
Die Programme kannst Du trotzdem nicht starten, da Dir der Pfad fehlt.
Gruß - Toni
vielleicht steh ich auf der Leitung, aber irgendwie verstehe ich da was nicht.
Wenn Deine Programme unter z.B. c:\prog liegen und Deine Batch unter c:\bat, Du den Pfad c:\prog nicht weißt, was nützt es Dir dann zu wissen, daß die Batch in c:\bat liegt?
Die Programme kannst Du trotzdem nicht starten, da Dir der Pfad fehlt.
Gruß - Toni
@miniversum:
%CD% ist leider der Pfad zu dem Verzeichnis, von dem die BAT aufgerufen wurde, aber nicht zu dem Verzeichnis in dem sich die BAT physikalisch befindet.
trotzdem Danke.
Achso bei mir gehts... Zeigt mir imemr den Pfad von der Batch Datei an...
Oder hab ich dien Problem falsch verstanden?
miniversum
%CD% ist leider der Pfad zu dem Verzeichnis, von dem die BAT aufgerufen wurde, aber nicht zu dem Verzeichnis in dem sich die BAT physikalisch befindet.
trotzdem Danke.
Achso bei mir gehts... Zeigt mir imemr den Pfad von der Batch Datei an...
Oder hab ich dien Problem falsch verstanden?
miniversum
Moin miniversum,
ich habe in den Schnipsel von gestern noch eine Zeile eingefügt.
Dann wird der Unterschied zwischen %cd% und %~dp0 deutlich, denke ich.
Schönes Wochenende
Biber
ich habe in den Schnipsel von gestern noch eine Zeile eingefügt.
Dann wird der Unterschied zwischen %cd% und %~dp0 deutlich, denke ich.
>f:\Administrator\whereIam.bat
::-----snipp WhereIam.bat
@type %0
@echo Aktuelles Verzeichnis ^(%%CD%%^):[%cd%]
@echo %0 liegt in %~dp0
::-----snapp WhereIam.bat
Aktuelles Verzeichnis (%CD%):[D:\temp]
f:\Administrator\whereIam.bat liegt in f:\Administrator\
Schönes Wochenende
Biber