153

这是我 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"

但它不起作用。

4

5 回答 5

315

在批处理文件中使用它:

%~dp0\bin\Iris.exe

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

于 2013-02-18T18:28:04.590 回答
46

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

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:?
)
于 2013-02-18T23:28:05.460 回答
33

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

于 2017-05-03T11:13:58.003 回答
16

您应该能够使用当前目录

"%CD%"\bin\Iris.exe

于 2017-03-17T12:26:15.487 回答
5

要么 bin\Iris.exe (没有前导斜杠 - 因为这意味着从根开始)
\Program\bin\Iris.exe(完整路径)

于 2013-02-18T12:52:08.653 回答