
Eu tenho este arquivo em lote:
set LOCAL_ROOT="%~dp0"
setx BOOST_ROOT "%LOCAL_ROOT%\boost"
quando executo este arquivo em lote, estou obtendo esse valor definido como BOOST_ROOT
BOOST_ROOT=D:\Local\ boost
como pode ser visto, há um espaço no caminho que não deveria existir. Como posso removê-lo?
Responder1
Isto é o que você precisa:
@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
Alternativamente, sem declarar a primeira variável:
@echo off
setx BOOST_ROOT="%~dp0boost"
Você não precisa das aspas ao declarar LOCAL_ROOT
e seu código parece ter alguns erros de formatação. Lembre-se de que isso %~dp0
inclui uma barra invertida final.