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

时间:2013-10-07 17:03:58

标签: sql sql-server batch-file

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

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

2 个答案:

答案 0 :(得分:5)

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

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

答案 1 :(得分:0)

应该是这样的

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

我必须在路径

中添加一个“\”

无论如何,谢谢Luke Z ..你结束了我的一天!

谢谢&问候 维纳亚克