BAT 脚本中的相对路径

这是我 U 盘上的程序文件夹:

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"

但是没有用。

210367 次浏览

都不是 bin\Iris.exe (没有前导斜杠-因为这意味着从根开始)
\Program\bin\Iris.exe(全路径)

在批处理文件中使用:

%~dp0\bin\Iris.exe

%~dp0解析为批处理脚本所在文件夹的完整路径。

您可以使用以下代码获得所有必需的文件属性:

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

你应该可以用工作目录

“% CD%”bin Iris. exe

我发现 %CD%给出的是调用脚本的路径,而不是脚本的路径,但是,%~dp0会给出脚本本身的路径。