使用 SQLCMD 的批处理脚本

使用 SQLCMD 的批处理脚本

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

当我尝试执行时,它不会创建任何输出文件。我不确定我错在哪里,也不知道如何调试脚本。有人能帮我解决脚本问题吗?

@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

答案1

您的批处理文件中需要两个百分号:

对于 %%F 在 (C:\SQLCMD*.SQL) 中做 (

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

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

答案2

尝试以下行:

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

或者更好的是,开始调试

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

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

相关内容