Verzeichnis der ausgeführten Batch Datei / Windows Command Shell Scripts ermitteln

Thomas Darimont

Erfahrenes Mitglied
Hallo,

mit der Variable %~dp0 kann man den Pfad der aktuell ausgeführten Batchdatei ermitteln.
Dabei steht %0 für die Datei selbst, d steht für Laufwerk (drive) und p für den Dateipfad.

script.cmd
Code:
@ECHO OFF
SET SCRIPT_LOCATION=%~dp0
echo Executing Script in %SCRIPT_LOCATION%

Beispiel:
Code:
D:\temp\dir1>dir /s
 Volume in Laufwerk D: hat keine Bezeichnung.
 Volumeseriennummer: B4C5-AFE8

 Verzeichnis von D:\temp\dir1

05.03.2012  17:50    <DIR>          .
05.03.2012  17:50    <DIR>          ..
05.03.2012  17:51                80 script.cmd
05.03.2012  17:51    <DIR>          subdir1
               1 Datei(en)             80 Bytes

 Verzeichnis von D:\temp\dir1\subdir1

05.03.2012  17:51    <DIR>          .
05.03.2012  17:51    <DIR>          ..
05.03.2012  17:51                80 script.cmd
               1 Datei(en)             80 Bytes

     Anzahl der angezeigten Dateien:
               2 Datei(en)            160 Bytes
               5 Verzeichnis(se), 36.312.899.584 Bytes frei

D:\temp\dir1>script.cmd
Executing Script in D:\temp\dir1\

D:\temp\dir1>cd subdir1

D:\temp\dir1\subdir1>script.cmd
Executing Script in D:\temp\dir1\subdir1\

Gruß Tom
 

HonniCilest

Erfahrenes Mitglied
Oder auch einfach
Code:
%~f0
Das f steht für den kompletten Pfad und die 0 wie Thomas bereits erwähnte für die Datei selbst.

Edit:
Nvm, hier wird auch der Name mit angezeigt.
 
Zuletzt bearbeitet: