Как удалить пробел в конце %~dp0 в пакетном файле в Windows 10

Как удалить пробел в конце %~dp0 в пакетном файле в Windows 10

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

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

Связанный контент