ilM*_*ion 2 for-loop batch-file sqlcmd
我必须运行n查询SQL以更新更多数据库.我创建了一个批处理文件来帮助我完成此活动,但查询不是按名称排序执行的.
我使用这个批处理命令:
for %%I in (.\*.sql) DO sqlcmd -S .\istance -U username -P password -d dbname -i %%I -o .\%%I.log
Run Code Online (Sandbox Code Playgroud)
如何运行按名称排序的所有查询?
感谢您的回答.
注意:我使用的是Windows 7.
FOR命令不按名称顺序枚举文件的唯一原因是文件系统不是NTFS.FAT文件系统按放置顺序枚举文件.
因此,请使用显式名称顺序枚举
for /F "tokens=*" %%i in ('dir /b /on *.sql') do (
sqlcmd -S .\istance -U username -P password -d dbname -i %%i -o .\%%i.log
)
Run Code Online (Sandbox Code Playgroud)