我在a.bat中调用另外一个b.bat。b.bat的sql语句执行结束(成功执行),不返回控制台。是为什么呢。
执行结果:
-----------
message 1
>
>(这里为什么不继续执行"echo message 2"命令呢)
-----------
a.bat内容:
-----------------
@echo off
echo message 1
call "b.bat" >> log.txt
echo message 2
-----------------
b.bat内容:
-----------------
osql "XXXXXXXX"(为备份数据库语句)
-----------------
此问题本人已解决。方法:osql 后面加了参数 /Q
/Q 执行查询并立即退出osql。将查询用双引号引起来,将查询中嵌入的任何内容用单引号引起来。
追加提问,b.bat中使用for循环调用 osql语句。为什么循环1次可以(执行成功),循环多次就不执行了。
b.bat内容:
-----------------
for /L %%i in (1,1,10) do (
call osql /Q " XXXXXX " (修改表中某一字段的值,下次循环时修改下一个。只循环1次可以。)
)
-----------------