我想从sql server表中导出所有的数据到一个csv,我知道我可以通过以下方式获得所需的结果:
sqlcmd -S . -d database -E -s, -W -Q "SELECT * FROM TABLENAME" > file.csv
我有很多表,所以我想创build一个.bat文件,为我做的工作,我有这样的:
set "list = ABCD" for %%x in (%list%) do ( sqlcmd -S . -d database -E -s, -W -Q "SELECT * FROM %%x" > %%x.csv )
但是我得到的错误我不知道(我不是bat文件的专家)。 为什么这不起作用? 我怎么做我想要的?
使用set
距很重要(除非你用/A
开关做数学运算)。 正如所写的,你设置的变量不是%list%
。 它是%list %
。 改变你的set
命令如下:
set "list=ABCD"