BAT脚本中的相对路径

时间:2013-02-18 12:43:02

标签: batch-file cmd exe shortcut relative

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

它不起作用:(

6 个答案:

答案 0 :(得分:243)

在批处理文件中使用它:

%~dp0\bin\Iris.exe

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

答案 1 :(得分:34)

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

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

答案 2 :(得分:16)

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

答案 3 :(得分:10)

您应该可以使用当前目录

  

“%CD%” \ BIN \ Iris.exe

答案 4 :(得分:4)

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

答案 5 :(得分:-1)

这可以这样实现:

.\bin\Iris.exe

.\ 选择脚本所在的文件夹

编辑:这仅在您通过双击或从脚本目录中的控制台运行脚本时才有效,因为 .\ 是控制台所在的目录,而不是脚本位置