3

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

For /f %%G in ('dir /s /b "%ScriptsPath%" *.sql') do (
    echo "%%G"
) 
4

2 回答 2

5

dir命令与作为单独参数的“* .sql”混淆了。试试这个。此代码假定您的ScriptsPath变量确实以反斜杠结尾。

For /f %%G in ('dir /s /b "%ScriptsPath%*.sql"') do (
    echo "%%G"
) 
于 2013-10-07T17:45:35.067 回答
0

应该是这样的

    For /f %%G in ('dir /s /on /b "%ScriptsPath%\*.sql"') do (
    echo "%%G"
    )

我必须在路径中添加一个额外的“\”

无论如何,谢谢卢克 Z ..你让我开心!

感谢和问候维纳亚克

于 2013-10-07T19:55:09.487 回答