wake-up-neo.com

relativer Pfad im BAT-Skript

Hier ist mein eigener Programmordner auf meinem USB-Treiber:

Program\
     run.bat
     bin\
         config.ini
         Iris.exe
         library.dll
         etc.

Ich möchte mit run.bat meine Iris.exe starten

Ich kann Folgendes nicht verwenden: F: /Program/bin/Iris.exe wie eine Verknüpfung, da ich manchmal keinen F-Treibernamen erhalte (E, G)

Was muss ich in die bat-Datei schreiben, um wie ein Zauber zu wirken? Das habe ich in der BAT-Datei versucht:

 ˝\bin\Iris.exe˝ 

Es funktioniert nicht :(

114
user2083037

Verwenden Sie dies in Ihrer Batch-Datei:

%~dp0\bin\Iris.exe

%~dp0 wird in den vollständigen Pfad des Ordners aufgelöst, in dem sich das Stapelskript befindet.

252
Ansgar Wiechers

Mit dem folgenden Code können Sie alle erforderlichen Dateieigenschaften abrufen:

FOR %%? IN (file_to_be_queried) DO (
    ECHO File Name Only       : %%~n?
    ECHO File Extension       : %%~x?
    ECHO Name in 8.3 notation : %%~sn?
    ECHO File Attributes      : %%~a?
    ECHO Located on Drive     : %%~d?
    ECHO File Size            : %%~z?
    ECHO Last-Modified Date   : %%~t?
    ECHO Parent Folder        : %%~dp?
    ECHO Fully Qualified Path : %%~f?
    ECHO FQP in 8.3 notation  : %%~sf?
    ECHO Location in the PATH : %%~dp$PATH:?
)

Ich habe gefunden, dass %CD% gibt den Pfad an, von dem aus das Skript aufgerufen wurde, und nicht den Pfad des Skripts. %~dp0 gibt den Pfad des Skripts selbst an.

18
Sitri

Sie sollten in der Lage sein, das aktuelle Verzeichnis zu verwenden

"% CD%"\bin\Iris.exe

11
Johan A.

entweder bin\Iris.exe (kein führender Schrägstrich, da dies bedeutet, dass direkt von der Wurzel aus begonnen wird)
oder \Program\bin\Iris.exe (vollständigen Pfad)

4
AjV Jsy