Hallo Vinzenz
@echo off
FOR %%A IN (%0) DO SET PWD=%%~dpA
echo %PWD%einfach:
ECHO %~dp0
liefert stets den vollständigen Pfad zum Verzeichnis, in dem sich die Batchdatei befindet, auch wenn sie über die Umgebungsvariable PATH gefunden wurde.
Das echo war nur eine Kontrollausgabe, der Pfad sollte in eine Umgebungsvariable.
Interessant, dass es so funktioniert.
%0 selbst enthält keinen Pfad, wenn die Datei über PATH gefunden wurde. Dass es mit ~dp dann richtig expandiert wird, darauf wäre ich nie gekommen.
Also nochmal komplett:
@echo off
FOR %%A IN (%~dp0) DO SET PWD=%%A
echo Kontrollausgabe: %PWD%
Wenn nur eine zweite Batch-Datei aufgerufen werden soll, dann wäre es so einfacher:
@echo off
rem Alles, was getan werden soll
%~dp0Batch2.cmd
Auf Wiederlesen
Detlef
- Wissen ist gut
- Können ist besser
- aber das Beste und Interessanteste ist der Weg dahin!