![Windows 批处理文件](https://linux22.com/image/522246/Windows%20%E6%89%B9%E5%A4%84%E7%90%86%E6%96%87%E4%BB%B6.png)
我正在尝试使用批处理文件执行一组 SQL 脚本。当我尝试这个 Windows 批处理文件时,它没有运行。请告诉我如何编写脚本来循环遍历文件?
我的脚本:
sqlcmd -S tcp:LENOVO-GH1C00\SAM -U UserName -P PassWord -i c:\SQLCMDSCRIPTS\SELECT.SQL -o C:\SELECT.txt -p -b
IF NOT [%ERRORLEVEL%] ==[0] goto get_Error
:Success
echo Finished Succesffuly
exit /B 0
goto end
:get_error
echo step Failed
exit /B 40
:end
答案1
您将需要使用FOR
语句。在CMD.EXE
提示符下输入help for
以获取更多信息。
以下是对一组文件进行迭代的一般方法:
FOR %variable IN (set) DO command [command-parameters]
为了满足您的需要,您可以做类似的事情:
FOR %f IN (c:\SQLCMDSCRIPTS\*.SQL) DO sqlcmd ... -i %f ...
但您必须对其进行调整以适合您要执行的操作,并且您可能必须以不同的方式进行错误处理。