bat脚本中如何判断一条命令是否执行成功?

花如月 2014-08-27 04:04:50
我想用bat脚本调用MSSQL2000,执行SQL脚本,现在想知道SQL脚本是否执行成功,如果没有执行成功发邮件给我,怎样判断呢?

shell中如果命令执行成功就会返回0,bat里面该怎么判断呢?在网上拔了好长时间没有找到,特来请教给位大牛们
...全文
1610 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
Tiger_Zhao 2014-09-02
  • 打赏
  • 举报
回复
-b参数啊!
花如月 2014-09-02
  • 打赏
  • 举报
回复
引用 3 楼 Tiger_Zhao 的回复:
一搜就找到了: http://windowsitpro.com/windows/how-can-i-get-isqlexe-return-dos-errorlevel-me-test-05-feb-2000
不对的,我要执行SQL脚本,这是给errorlevel赋值 如下语句: @isql -S Salley-I007 -U backup26 -P Salley12345 -i d:\backup\backup.sql -E -o d:\backup\backup.out
花如月 2014-09-02
  • 打赏
  • 举报
回复
引用 2 楼 salley_2010 的回复:
我写了bat来调用Mssql执行sql脚本进行数据库备份 ,判断脚本是否执行成功,发送邮件: @isql -S ZXYJY -U backup26 -P 12345 -i d:\backup\backup.sql If errorlevel 0 ( call sendmail.vbs) 其中有一个数据库我故意设置为正在还原的状态,正在还原的数据库无法备份的,但是这个判定还是成功的,这怎样解决呢?
引用 2 楼 salley_2010 的回复:
我写了bat来调用Mssql执行sql脚本进行数据库备份 ,判断脚本是否执行成功,发送邮件: @isql -S ZXYJY -U backup26 -P 12345 -i d:\backup\backup.sql If errorlevel 0 ( call sendmail.vbs) 其中有一个数据库我故意设置为正在还原的状态,正在还原的数据库无法备份的,但是这个判定还是成功的,这怎样解决呢?
不对的,我要执行SQL脚本,这是给errorlevel赋值 如下语句: @isql -S Salley-I007 -U backup26 -P Salley12345 -i d:\backup\backup.sql -E -o d:\backup\backup.out
黑暗中的光芒 2014-08-28
  • 打赏
  • 举报
回复
可以在bat中打印出结果看看
Tiger_Zhao 2014-08-28
  • 打赏
  • 举报
回复
一搜就找到了:
http://windowsitpro.com/windows/how-can-i-get-isqlexe-return-dos-errorlevel-me-test-05-feb-2000
花如月 2014-08-28
  • 打赏
  • 举报
回复
我写了bat来调用Mssql执行sql脚本进行数据库备份 ,判断脚本是否执行成功,发送邮件: @isql -S ZXYJY -U backup26 -P 12345 -i d:\backup\backup.sql If errorlevel 0 ( call sendmail.vbs) 其中有一个数据库我故意设置为正在还原的状态,正在还原的数据库无法备份的,但是这个判定还是成功的,这怎样解决呢?
Tiger_Zhao 2014-08-27
  • 打赏
  • 举报
回复
bat 中用 IF [NOT] ERRORLEVEL number 判断程序运行结果,这需要程序支持。
你看看那个执行SQL的exe程序的帮助,有没有返回值?

22,210

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 疑难问题
社区管理员
  • 疑难问题社区
  • 尘觉
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧