使用按字母顺序的for命令处理文件 [英] Process file with for command in alphabetical order

查看:94
本文介绍了使用按字母顺序的for命令处理文件的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述


我必须运行 n 查询SQL来更新更多数据库.我创建了一个批处理文件来帮助我完成此活动,但是查询不是按名称顺序执行的.


I must run n query SQL for update more database. I created a batch file to help me in this activity but the queries are not executed ordered by name.

我使用此批处理命令:

for %%I in (.\*.sql) DO sqlcmd -S .\istance -U username -P password -d dbname -i %%I -o .\%%I.log

如何运行所有按名称排序的查询?
感谢您的回答.

注意:我使用Windows 7.

How can I run all queries ordered by name?
Thanks for your answer.

Note: I use Windows 7.

推荐答案

FOR命令未按名称顺序枚举文件的唯一原因是文件系统不是NTFS. FAT文件系统按删除顺序枚举文件.

Only reason for the FOR command not enumerating files in name order is that the file system is not NTFS. FAT filesystem enumerate files in drop order.

因此使用显式的名称顺序枚举

So use explicit name order enumeration

for /F "tokens=*" %%i in ('dir /b /on *.sql') do (
    sqlcmd -S .\istance -U username -P password -d dbname -i %%i -o .\%%i.log
)

这篇关于使用按字母顺序的for命令处理文件的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆