Ich werde versuchen, mein Problem zu erklären:Wie starte ich eine EXE-Datei aus einer Batch-Datei in einer anderen Batch-Datei aus verschiedenen Verzeichnissen?
- ich eine Haupt-Batch-Datei namens master.bat
- ich mehrere Batch-Dateien haben, mit dem Namen slave_0x.bat von master.bat mit dem Befehl CALL aufgerufen.
- Jede Datei slave_0x.bat startet eine Datei setup_0x.exe aus einem relativen Verzeichnis.
- Diese beiden Dateien befinden sich in einem Unterverzeichnis aus dem Verzeichnis master.bat.
Per Beispiel:
- master.bat Datei in D: \ befinden Meister \
- slave_01.bat in D: \ befinden Meister \ Slave_01 \
- setup_01.exe ist auch in D: \ Meister \ Slave_01 \
Das Problem ist:
Wenn Ich starte master.bat, der aktuelle Pfad ist "D: \ Master \" Dann, wenn slave_01.bat ausgeführt wird, versuchen Sie, Setup_01.exe von "D: \ Master \" und nicht von "D: \ Master \ Slave \“
REM Master.bat
@ECHO OFF
TITLE Installing Applications
SET mypath=%~dp0
ECHO %mypath:~0,-1%
ECHO.
ECHO 1) Installing App 1
ECHO.
call D:\Master\Slave_01\slave_01.bat"
ECHO.
ECHO 2) Installing App 2
ECHO.
CALL D:\Master\Slave_02\slave_02.bat"
PAUSE
slave_0x Dateien:
REM slave_01.bat
TITLE App 1
ECHO.
ECHO %mypath:~0,-1%
ECHO.
ECHO Installing App 1
ECHO Please wait...
START /wait setup_01.exe /SILENT /SP- /NORESTART
gibt es eine Möglichkeit, das aktuelle Verzeichnis aus dem slave_0x.bat Datei stattdessen das aktuelle Verzeichnis aus der master.bat Datei im slave_0x zu verwenden. bat, um die Datei setup_0x.exe aus dem richtigen Verzeichnis zu starten?
Grüße