
Ich habe diese Batchdatei:
set LOCAL_ROOT="%~dp0"
setx BOOST_ROOT "%LOCAL_ROOT%\boost"
wenn ich diese Batchdatei ausführe, wird dieser Wert auf BOOST_ROOT gesetzt
BOOST_ROOT=D:\Local\ boost
wie man sehen kann, gibt es im Pfad ein Leerzeichen, das nicht vorhanden sein sollte. Wie kann ich es entfernen?
Antwort1
Das benötigen Sie:
@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
Alternativ, ohne die erste Variable überhaupt zu deklarieren:
@echo off
setx BOOST_ROOT="%~dp0boost"
Sie benötigen die Anführungszeichen beim Deklarieren nicht LOCAL_ROOT
und Ihr Code scheint einige Formatierungsfehler zu haben. Beachten Sie, dass %~dp0
ein abschließender Backslash enthalten ist.