【发布时间】:2020-07-15 10:37:54
【问题描述】:
我在一个目录中有许多 SQL 脚本,以数字为前缀,例如
目前,我可以使用以下脚本遍历它们:
@ECHO OFF
FOR /r . %%F IN (*.sql) DO (
ECHO File:"%%F"
)
但是,由于Windows读取目录中文件的方式,10和11在2之前读取等等:
如何循环遍历目录中的每个文件,按前缀顺序?
【问题讨论】:
-
下面@Aacini的解决方案不错。但是,如果您使用 Powershell,您也可以使用单行代码
Get-ChildItem | Sort-Object { [regex]::Replace($_.Name, '\d+', { $args[0].Value.PadLeft(20) }) }。 See here for the topic on SO(这就是我没有将其添加为答案的原因)。
标签: windows batch-file