的問題是空間上的set
兩個雙方顯著這將設置你的價值觀(請注意,每個值將包含一個前導空格)
SET SVN_URL= http://server.test.com
SET SVN_USER_NAME= foo
SET SVN_USER_PASSWORD= pass
或
for /f "tokens=1*delims== " %%a in (SVN_URL = http://server.test.com) do set "%%a=%%b"
for /f "tokens=1*delims== " %%a in (SET SVN_USER_NAME = foo) do set "%%a=%%b"
for /f "tokens=1*delims== " %%a in (SET SVN_USER_PASSWORD = pass) do set "%%a=%%b"
或
call :setv SVN_URL = http://server.test.com
call :setv SVN_USER_NAME = foo
call :setv SVN_USER_PASSWORD = pass
...
:setv
set "%~1=%~2"
goto :eof
注意到這最後,您可能需要將該值用引號引起來。
Ahm ...除去空間怎麼樣? – aschipfl
當使用'set'命令時,你完全想避免'='周圍的空格;如果您需要可讀的文檔,請始終將您的'set'語句格式化爲'set varname = value'並添加註釋('rem'語句)。 –
var name前面的空格沒有問題,如果你需要對齊等號,heftily ;-)爲了避免在varname或內容中無意的前導/尾隨空格我會雙引號「Set」SVN_URL = http: //server.test.com「' – LotPings