的问题是空间上的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