我试图通过这样做将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
但是我从没有在exe_path中获得exefile.exe的正确路径。
这如何实现。
答案 0 :(得分:1)
在 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 在 Windows 中运行它:
sh ./testscript.sh
始终在 Windows 中,用于 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%