Board logo

标题: [系统相关] [已解决]批处理如何检测软驱里没有软盘重点是不弹错误的信息 [打印本页]

作者: 都市浪子666    时间: 2009-5-2 19:46     标题: [已解决]批处理如何检测软驱里没有软盘重点是不弹错误的信息

我这样写的代码,在软驱里没有 软盘时,系统就弹出一个错误的信息,
批处理也就停在这里了,请问如何才能检测到软驱里没有软盘时,不弹出错误信息,继续执行后面的命令
  1. @echo off
  2. if exist a:\ (goto 有软盘) else (goto 无软盘)
  3. goto :eof
  4. :有软盘
  5. echo 有软盘
  6. goto :eof
  7. :无软盘
  8. echo 无软盘
  9. goto :eof
复制代码



=====================================================
解决的方法是,不用EXIST  用DIR的命令
下面这些代码就不弹出错误的窗口了

  1. @echo off
  2. dir /a a:\>nul 2>nul&&goto 有软盘||goto 无软盘
  3. goto :eof
  4. :有软盘
  5. echo 有软盘
  6. goto :eof
  7. :无软盘
  8. echo 无软盘
  9. goto :eof
复制代码


谢谢各位了

[ 本帖最后由 都市浪子666 于 2009-5-2 20:30 编辑 ]
作者: namejm    时间: 2009-5-2 20:15

  在WinXP_SP3的系统上测试,当A分区不存在的时候,并没有弹出错误对话框;用光驱盘符测试,同样没有弹窗,不知道楼主的测试环境是什么样的。
作者: 都市浪子666    时间: 2009-5-2 20:18

我用的是XPSP2系统。如果是测试光驱,不会弹窗,但是软驱。它就弹窗了
作者: defanive    时间: 2009-5-2 20:20

if exist a:\nul (goto 有软盘) else (goto 无软盘)
判断一个目录、文件夹、驱动器存在,需要在最后加上nul
作者: Batcher    时间: 2009-5-2 20:26     标题: 回复 2楼 的帖子

你误解楼主的意思了,他问的是在软驱存在的情况下区分里面有没有软盘。
如果连软驱都没有,自然不会有问题了,呵呵。
作者: 都市浪子666    时间: 2009-5-2 20:27

谢谢各位。问题解决了,
用这样的命令就不弹窗了
dir /a a:\>nul 2>nul&&goto 有软盘||goto 无软盘
作者: Batcher    时间: 2009-5-2 20:27     标题: 回复 4楼 的帖子

1、不需要加nul
2、对于软驱来说加不加nul都会遇到楼主的问题
作者: defanive    时间: 2009-5-2 20:33     标题: 回复 7楼 的帖子

是么,我记得是不会出问题的。。。
用dir也不错吧。。。




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