Установка пути exe к переменной в пакетном скрипте - PullRequest
0 голосов
/ 20 сентября 2018

Я пытаюсь установить местоположение exe (exe_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_path.

Как этого достичь.

1 Ответ

0 голосов
/ 20 сентября 2018
  • В 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
    

    Выможет запустить его в Windows тоже, используя Git Bash :

      sh ./testscript.sh
    
  • Всегда в Windows , для DOS Batch (testscript.bat) script:

      @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%
    
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...