我想将所有数据从sql server表导出到csv,我知道我可以通过以下方式获得所需的结果:
sqlcmd -S . -d database -E -s, -W -Q "SELECT * FROM TABLENAME" > file.csv
我有很多表,所以我想创建一个为我工作的.bat文件,我有这个:
set "list = A B C D"
for %%x in (%list%) do (
sqlcmd -S . -d database -E -s, -W -Q "SELECT * FROM %%x" > %%x.csv
)
但我收到的错误我不知道(我不是蝙蝠文件的专家)。为什么这不起作用?我怎么能做我想做的事?
答案 0 :(得分:6)
使用set
时,间距非常重要(除非您使用/A
开关进行数学运算)。如上所述,您设置的变量不是%list%
。它是%list %
。按如下方式更改set
命令:
set "list=A B C D"