BAT脚本中的相对path

这是我的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˝ 

它不工作:(

在你的batch file中使用这个:

 %~dp0\bin\Iris.exe 

%~dp0parsing为批处理脚本所在文件夹的完整path。

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

 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%给出了脚本被调用的path,而不是脚本的path,但%~dp0会给出脚本本身的path。

你应该可以使用当前目录

“%CD%” \ BIN \ Iris.exe

要么bin\Iris.exe (没有引导斜杠 – 因为这意味着从根开始)
\Program\bin\Iris.exe (完整path)