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

我用dat脚本调用MSSQL2000执行SQL脚本,如何判断我的脚本是否执行成功?shell中如果执行成功会返回0,dat里面有没有类似的?在网上没有查到,求助各位牛人,... 我用dat脚本调用MSSQL 2000执行SQL脚本,如何判断我的脚本是否执行成功?
shell中如果执行成功会返回0,dat里面有没有类似的?在网上没有查到,求助各位牛人,先谢谢了
展开
 我来答
59分粑粑分享生活
高粉答主

2020-05-18 · 专注生活好物分享,解答日常方方面面的问题
59分粑粑分享生活
采纳数:326 获赞数:119798

向TA提问 私信TA
展开全部

方法和详细的操作步骤如下:

1、第一步,将编写的bat批处理文件拖到cmd命令窗口中,以定期清除旧数据,见下图,转到下面的步骤。

2、第二步,执行完上面的操作之后,执行后返回的错误代码将返回一个错误,并且重复出现该错误提示该乱码字段不是内部或外部命令,见下图,转到下面的步骤。

3、第三步,执行完上面的操作之后,打开批处理文件。
 批处理文件用于在1天前定期删除zip文件,见下图,转到下面的步骤。

4、第四步,执行完上面的操作之后,将语句分别粘贴到cmd命令行中并执行,见下图,转到下面的步骤。

5、第五步,执行完上面的操作之后,重新使用其他字符集来编写批处理文件。
 打开编写的批处理bat文件,选择“文件”选项,然后在文件菜单中单击“另存为”选项,见下图,转到下面的步骤。

6、第六步,执行完上面的操作之后,将文件另存为ANSI编码格式的批处理文件,见下图,转到下面的步骤。

7、第七步,执行完上面的操作之后,直接重新运行bat批处理文件,或在cmd中成功运行,见下图。这样,就解决了这个问题了。

aiwozhonghuaba
推荐于2017-11-26 · TA获得超过414个赞
知道小有建树答主
回答量:305
采纳率:0%
帮助的人:259万
展开全部

方法一:用 errorlevel,一般0为成功,1为不成功

例:

@Echo Off
Tasklist|Find "QQ.exe"
If errorlevel 1 (
    Echo QQ.exe is not exist
) Else (
    Echo QQ.exe is exist
)

errorlevel用if判断时可以不扩展,详见if /?

也可以用%或!扩展

方法二:连接符号

||表示命令失败后执行的命令

&&表示命令成功后执行的命令

例:

@Tasklist|Find "QQ.exe"&&Echo QQ.exe is exist||Echo QQ.exe is not exist
更多追问追答
追问
我写了bat来调用Mssql执行sql脚本进行数据库备份 ,判断脚本是否执行成功,发送邮件:

@isql -S ZXYJY -U backup26 -P 12345 -i d:\backup\backup.sql

If errorlevel 0 (
call sendmail.vbs)
其中有一个数据库我故意设置为正在还原的状态,正在还原的,但是这个判定还是成功的,这怎样解决呢?
追答
哦,if errorlevel 0代表的是返回值大于等于0执行的操作(所以包括了1),如果是条件刚好等于零的话必须使用
if %errorlevel%==0或if !errorlevel!==0
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
Frankwu_hallo
2014-08-27
知道答主
回答量:2
采纳率:0%
帮助的人:2701
展开全部
用!ERRORLEVEL!,1表示不成功,0表示成功
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式