代码之家  ›  专栏  ›  技术社区  ›  Raulp

在批处理脚本中将exe的路径设置为变量

  •  0
  • Raulp  · 技术社区  · 7 年前

    我正试图通过这样做将exe(exe\u sources/build/exefile.exe)的位置设置为一个变量;

    set script_path1=%~p0
    set exe_path=script_path1\..\build\
    echo exe_path
    

    目录结构如下所示:

    exe_sources
      --build
         --exefile.exe
      --runtest
        --testscript.bat
    

    但我从来没有得到正确的路径exefile.exe在exe\U路径。

    1 回复  |  直到 7 年前
        1
  •  1
  •   Riccardo Volpe    7 年前
    • Linux操作系统 ,对于 BASH(testscript.sh)

        #!/bin/bash
      
        <<TREE
        exe_sources
        --build
          --exefile.exe
        --runtest
          --testscript.sh
          --testscript.bat
        TREE
      
        script_path1=$(dirname "$(readlink -f ./testscript.sh)"); # absolute path: /c/Users/Riccardo/Desktop/exe_sources/runtest
        B=$(basename "$(readlink -f ./testscript.sh)"); # testscript.sh
        ls "${script_path1}/../build" # exefile.exe
        exe_path="${script_path1}/../build";
        echo ${exe_path} # /c/Users/Riccardo/Desktop/exe_sources/runtest/../build
        ls ${exe_path} # exefile.exe
      

      你可以把它放进去 窗户 Git Bash :

        sh ./testscript.sh
      
    • 总是在 ,对于 DOS批处理(testscript.bat)

        @echo off
      
        goto TREE
        exe_sources
        --build
          --exefile.exe
        --runtest
          --testscript.sh
          --testscript.bat
        :TREE
      
        set script_path1="%~dp0"
        echo %script_path1%
        ::"C:\Users\Riccardo\Desktop\exe_sources\runtest\"
        set script_name=%0
        echo %script_name%
        ::"C:\Users\Riccardo\Desktop\exe_sources\runtest\testscript.bat"
        set exe_path="%~dp0..\build"
        echo %exe_path%
        ::"C:\Users\Riccardo\Desktop\exe_sources\runtest\..\build"
        dir %exe_path%