
У меня есть этот пакетный файл:
set LOCAL_ROOT="%~dp0"
setx BOOST_ROOT "%LOCAL_ROOT%\boost"
Когда я запускаю этот пакетный файл, я получаю это значение, установленное на BOOST_ROOT
BOOST_ROOT=D:\Local\ boost
как видно, в path есть пробел, которого не должно быть. Как его убрать?
решение1
Это то, что вам нужно:
@echo off
set LOCAL_ROOT=%~dp0
setx BOOST_ROOT="%LOCAL_ROOT%boost"
REM the next two lines are for debugging, remove from final batch file:
echo %BOOST_ROOT%
pause
Альтернативный вариант — вообще не объявлять первую переменную:
@echo off
setx BOOST_ROOT="%~dp0boost"
Вам не нужны кавычки при объявлении LOCAL_ROOT
, и ваш код, похоже, имеет несколько ошибок форматирования. Имейте в виду, что это %~dp0
включает в себя завершающую обратную косую черту.