tension76
Goto Top

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

Content-Key: 31698

Url: https://administrator.de/contentid/31698

Printed on: April 23, 2024 at 18:04 o'clock

Member: miniversum
miniversum May 04, 2006 at 10:42:57 (UTC)
Goto Top
Das aktuelle Verzeichnis steht in der Variablen %cd%.
Du kannst es dir also mit
echo %cd%
anzeigen lassen oder mit
%cd%\Programm.exe
ein Programm starten.

miniversum
Member: Biber
Biber May 04, 2006 at 11:01:36 (UTC)
Goto Top
Moin tension, Grüß Dich auch,
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\ 
Alternativ zum Setzen des per %~dp0 ermittelten Pfades vor alle untergeordneten Bätche kannst Du auch einmalig in der "ersten" Datei mit
PushD "%~dp0"
in dieses Verzeichnis wechseln und am Ende wieder mit
PopD
den alten Zustand wiederherstellen.
Gruß
Biber
Member: leknilk0815
leknilk0815 May 04, 2006 at 11:06:21 (UTC)
Goto Top
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
Member: tension76
tension76 May 04, 2006 at 11:23:48 (UTC)
Goto Top
@alle:
Danke für "sich überhaupt damit beschäftigen"!

@Biber:
Danke für die Lösung!!!
Danke für das schöne Wort "Bätche"! Werde ich in meinen Wortschatz aufnehmen face-smile

@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.

Frage ist beantwortet!
Danke!
lg
tension
Member: Biber
Biber May 04, 2006 at 11:39:03 (UTC)
Goto Top
Danke für das schöne Wort "Bätche"! Werde ich in meinen Wortschatz aufnehmen
Wenn Du öfters in diesen Bereich kommst, wirst Du auch die Koseform "mein Bätschelchen" noch kennenlernen.. face-wink

Grüße
Biber
Member: cykes
cykes May 04, 2006 at 11:58:01 (UTC)
Goto Top
Gibt der Aussage "Bätsch Biber" eine ganz neue Bedeutung face-wink
Member: miniversum
miniversum May 04, 2006 at 17:00:20 (UTC)
Goto Top
@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
Member: Biber
Biber May 05, 2006 at 11:38:10 (UTC)
Goto Top
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.
>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
Member: scriptkiddy
scriptkiddy May 05, 2006 at 20:10:44 (UTC)
Goto Top
Echt wieder Super biber,

Ich glaube dieses wird auch mal in einer batch von mir anwendung finden....

Grüße Scriptkiddy