Cómo eliminar espacio al final de %~dp0 en un archivo por lotes en Windows 10

Cómo eliminar espacio al final de %~dp0 en un archivo por lotes en Windows 10

Tengo este archivo por lotes:

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

cuando ejecuto este archivo por lotes, obtengo este valor establecido en BOOST_ROOT

BOOST_ROOT=D:\Local\ boost

como se puede observar, hay un espacio en el camino que no debería existir. ¿Como puedo quitarlo?

Respuesta1

Esto es lo que necesitas:

@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, sin declarar la primera variable en absoluto:

@echo off
setx BOOST_ROOT="%~dp0boost"

No necesita las comillas al declarar LOCAL_ROOTy su código parece tener algunos errores de formato. Tenga en cuenta que %~dp0incluye una barra invertida al final.

información relacionada