У меня есть этот командный файл:

set LOCAL_ROOT="%~dp0" 
setx BOOST_ROOT             "%LOCAL_ROOT%\boost"

когда я запускаю этот пакетный файл, я получаю значение BOOST_ROOT

BOOST_ROOT=D:\Local\ boost

как можно видеть, в пути есть пространство, которого не должно быть. Как я могу удалить это?

1 ответ1

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 включает в себя обратную косую черту.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .