Thema:
Unter DOS das aktuelle Verzeichnis, Directory ermitteln von wo eine Bat Datei ausgeführt wird, mit Beispiel




Um unter DOS das aktuelle Verzeichnis, Directory ermitteln von wo eine Bat Datei ausgeführt wird, kann man folgende Zeilen in einer Bat Datei einfügen:


set tempbatpath=%~dp0
echo %tempbatpath%


Wie man in der Echo ausgabe erkennen kann (der Echo Befehl dient nur zur Kontrolle) ist beim Pfad immer hinten der Backslash mit dran, daher wenn man die Variable benutzt (siehe Beispiele unten), muss man keinen zusätzlichen Backslash zwichen Pfad und Datei machen.


Möchte man diesen Backslash entfernen geht das folgendermaßen:

set tempbatpath=%~dp0
set tempbatpath=%tempbatpath:~0,-1%
echo %tempbatpath%


Praktische Anwendungsbeispiele dann mit einer Bat Datei:

set tempbatpath=%~dp0
msiexec /i "%tempbatpath%setup.msi" /qb!
cscript.exe "%tempbatpath%NWR209EN_LicUpdate.vbs"
"%tempbatpath%setup.exe" /S