Подтвердить что ты не робот

Относительный путь в BAT script

Вот моя папка с программой на моем USB-накопителе:

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

Я хотел бы использовать run.bat для запуска Iris.exe

Я не могу использовать это: F:/Program/bin/Iris.exe как ярлык, потому что иногда он не подключается как диск F: (например, E: или G:)

Что мне нужно написать в файле bat для работы независимо от буквы диска?

Я попробовал это в файле BAT:

"\bin\Iris.exe"

Но это не работает.

4b9b3361

Ответ 1

Используйте это в своем пакетном файле:

%~dp0\bin\Iris.exe

%~dp0 разрешает полный путь к папке, в которой находится пакет script.

Ответ 2

Вы можете получить все необходимые свойства файла, используя следующий код:

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:?
)

Ответ 3

Я обнаружил, что %CD% указывает путь, из которого был вызван script, а не путь script, однако %~dp0 предоставит путь к самому script.

Ответ 4

Вы должны иметь возможность использовать текущий каталог

"% CD%" \Bin\Iris.exe

Ответ 5

либо bin\Iris.exe (без ведущей косой черты - потому что это означает начало прямо из корня)
или \Program\bin\Iris.exe (полный путь)