批处理文件"For/f"循环每个文件夹两次并列出文件两次

VPP*_*VPP 3 sql sql-server batch-file

这个for循环遍历文件两次.为什么会这样?我该如何修改它,以便每个.sql文件只列出一次.

For /f %%G in ('dir /s /b "%ScriptsPath%" *.sql') do (
    echo "%%G"
) 
Run Code Online (Sandbox Code Playgroud)

Luk*_*e Z 5

dir命令与"*.sql"混淆为一个单独的参数.试试这个.此代码假定您的ScriptsPath变量以反斜杠结尾.

For /f %%G in ('dir /s /b "%ScriptsPath%*.sql"') do (
    echo "%%G"
) 
Run Code Online (Sandbox Code Playgroud)