通过for循环获取路径会丢失空格后的部分

时间:2015-11-11 10:31:24

标签: windows batch-file

我在批处理文件中有以下内容:

for /f %%a in ('sqlcmd -S localhost -d master -Q "set nocount on;declare @sql_path varchar(100);exec xp_regread N'HKEY_LOCAL_MACHINE',N'Software\Microsoft\Microsoft SQL Server\80\Tools\ClientSetup','SQLPath',@sql_path output;select @sql_path AS SQL_Path;"') do set ColumnVar=%%a
echo %ColumnVar%
pause

我可以从echo看到ColumnVar设置为C:\ Program但是我已经单独运行了sql,并且知道应该得到C:\ Program Files \ Microsoft SQL Server \ 80 \ Tools

如何将ColumnVar设置为整个变量,而不仅仅是第一个空格之前的部分?我试过在%% a set ColumnVar="%%a"周围加上引号,但只是给出了“C:\ Program”!

0 个答案:

没有答案