0

Hi All I am Writing a Batch Script Which has to read a set of SQL Files which exists in a Folder then Execute Them Using SQLCMD utiliy.

When I am Trying to execute it does not create any output file. I am not sure where I am wrong and I am not sure how to debug the script. Can someone help me out with script?

@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

2 Answers 2

1

You need two percent signs in your 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

)

You could also put the "IF NOT" statement just after the sqlcmd, if you wanted to check for an error after each sql command.

1

Try this line:

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

or even better, start debugging with

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

to see if this loop works, or if there is a problem with the sqlcmd.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .