1

我有一个包含 .sql 文件的目录,例如

file.xxx.v3.0.sql
file.xxx.v3.0.sql
file.xxx.v3.0.sql
file.xxx.v3.0.sql

在 .bat 文件中,我将如何遍历目录中以“文件​​”开头的所有文件。并以“.v3.0.sql”结尾?

到目前为止我有

for /f %%b in ('dir /b /s "%apppath%\files\*.sql"') do call :import %%b
4

2 回答 2

2

放弃for /f路线。有龙(对于 Unicode 字符和空格,尤其是 - 最好不要养成任何坏习惯)。

您可以使用普通的 old for,它可以很好地迭代文件:

for %%b in (%apppath%\files\file.*.v3.0.sql) do (
  call :import %%b
)
于 2013-07-31T15:33:53.683 回答
2

这应该适用于您的情况:

for /f %%b in ('dir /b /s "%apppath%\files\file.*.v3.0.sql"') do call :import %%b

你也可以像这样使用大括号:

for /f %%b in ('dir /b /s "%apppath%\files\file.*.v3.0.sql"') do (
    call :import %%b
    ...
)
于 2013-07-31T15:31:30.433 回答