Board logo

标题: [系统相关] 批处理命令start启动程序失败后如何继续执行后继命令? [打印本页]

作者: YJDP    时间: 2012-6-21 10:33     标题: 批处理命令start启动程序失败后如何继续执行后继命令?

举例:
  1. start 1.exe
  2. shutdown -s -t 600
复制代码
如果1.exe不存在,运行时就会弹出1个windows对话框说 找不到1.exe ,这时如果不点确定,批处理就不会执行后面的命令,请问怎么解决这个问题?
作者: wjx515    时间: 2012-6-21 10:59

可以将这两个命令分别存为2个批处理文件

在重新写个批处理来执行这2个批处理文件
作者: 冷玉公子    时间: 2012-6-21 12:02

先用if exist 1.exe 检测一下1.exe文件是否存在就行了
作者: YJDP    时间: 2012-6-21 14:57

楼上2位的方法我也想过,确实是可行的。
不过我们写程序时,还是能少写1个文件还是少写1个的好。
2楼的方法:要是1个批处理里有多次调用不同的程序,这个就稍微麻烦点,不过可以在另外1个程序里加判断需要运行的是哪个,以减少批处理的文件个数。
3楼的方法:事先判断可以有效防止找不着文件的情况,但是start 程序的时候,如果弹出其它错误类型对话框的时候也就失效。

不知批处理中有没有像VB\C# 中,忽略异常抛出,或出现异常时跳转到其它异常代码块的处理机制呢?
作者: powerbat    时间: 2012-6-21 16:03

  1. set "start=wmic process call create"
  2. %start% "1.exe"
  3. shutdown -s -t 600
复制代码

作者: Batcher    时间: 2012-6-21 22:32

回复 4# YJDP


    这个真没有




欢迎光临 批处理之家 (http://www.bathome.net/) Powered by Discuz! 7.2