我有一堆我编写的书面SQL脚本,我想在文件夹中按顺序作为批量运行。阅读后,我求助于创建一个包括使用SQLCMD的BAT文件。对于这组脚本集,当我运行蝙蝠时,它似乎并没有按顺序运行。我不知道发生了什么事,因为我尝试在开始时使用前缀编号重命名SQL脚本,尝试使用字母,甚至将整个脚本重命名为使用Windows Explorer的编号/字母。
该过程可能看起来像这样的A.SQL -B.SQL -C.SQL -D.SQL -F.SQL -G.SQL -E.SQL
关于我缺少什么或如何错误地重命名这些文件的任何想法?谢谢
我在蝙蝠文件中拥有的东西
for %%G in (*.sql) do sqlcmd /S W-VAN-A124178HAZUSPLUSSRVR /d
BC_Exposure_2016 -E -i"%%G"
pause
您可以解析dir
命令的输出,您可以修改该命令,以便以字母顺序显示文件。为此,您可以使用dir /A-D /B /ON
:
/A-D
排除目录
/B
不包括许多混乱的其他信息,这些信息在解析时很烦人
/ON
按名称
因此,要修改您的代码:
for /f %%G in ('dir /A-D /B /ON') do (
sqlcmd /S W-VAN-A124178HAZUSPLUSSRVR /d BC_Exposure_2016 -E -i"%%G"
)
pause
应该工作。我将括号围在循环周围。一次因为我已经习惯了,因为代码被分为两行。