我有一个包含 .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
我有一个包含 .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
放弃for /f
路线。有龙(对于 Unicode 字符和空格,尤其是 - 最好不要养成任何坏习惯)。
您可以使用普通的 old for
,它可以很好地迭代文件:
for %%b in (%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
你也可以像这样使用大括号:
for /f %%b in ('dir /b /s "%apppath%\files\file.*.v3.0.sql"') do (
call :import %%b
...
)