使用SQLCMD的批处理脚本

大家好,我正在编写一个批处理脚本,它必须读取文件夹中存在的一组SQL文件,然后使用SQLCMD执行它们。

当我试图执行它不会创build任何输出文件。 我不知道我在哪里错了,我不知道如何debugging脚本。 有人可以用脚本帮我吗?

@echo off FOR %F IN (C:\SQLCMD\*.SQL) DO sqlcmd -S LENOVO-C00 -U yam -P yam!@ -i %F -o C:\SEL.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 

您的batch file中需要两个百分号:

FOR %% F IN(C:\ SQLCMD * .SQL)DO(

sqlcmd -S LENOVO-C00 -U yam -P yam!@ -i %% F -o C:\ SEL.txt -p -b

如果你想在每个sql命令之后检查错误,你也可以把“IF NOT”语句放在sqlcmd之后。

试试这一行:

 FOR %%F IN (C:\SQLCMD\*.SQL) DO sqlcmd -S LENOVO-C00 -U yam -P yam!@ -i %%F -o C:\SEL.txt -p -b 

甚至更好,开始与debugging

 FOR %%F IN (C:\SQLCMD\*.SQL) DO echo %%F 

看看这个循环是否有效,或者sqlcmd是否有问题。