无忧启动论坛

标题: [求助]关于在批处理中使用if exist命令的问题! [打印本页]

作者: eft    时间: 2007-3-12 00:09
标题: [求助]关于在批处理中使用if exist命令的问题!
我的系统是XPSP2,在批处理中使用if exist这个命令的时候,如果文件不存在会不停弹出提示窗口“Windows 找不到指定文件……”,关都来不及!

命令内容:

if exist x:\xxx\xxx.exe start x:\xxx\xxx.exe

我想达到的效果是,如果文件存在则执行,不存在则没有任何提示。初学批处理,请高手指点!

PS:下面是我在某教材中看到的资料。

批处理示例

1. IF-EXIST

1) 首先用记事本在C:\建立一个test1.bat批处理文件,文件内容如下:
@echo off
IF EXIST \AUTOEXEC.BAT TYPE \AUTOEXEC.BAT
IF NOT EXIST \AUTOEXEC.BAT ECHO \AUTOEXEC.BAT does not exist

然后运行它:
C:\>TEST1.BAT

如果C:\存在AUTOEXEC.BAT文件,那么它的内容就会被显示出来,如果不存在,批处理就会提示你该文件不存在。

2) 接着再建立一个test2.bat文件,内容如下:
@ECHO OFF
IF EXIST \%1 TYPE \%1
IF NOT EXIST \%1 ECHO \%1 does not exist

执行:
C:\>TEST2 AUTOEXEC.BAT
该命令运行结果同上。

说明:
(1) IF EXIST 是用来测试文件是否存在的,格式为
IF EXIST [路径+文件名] 命令
(2) test2.bat文件中的%1是参数,DOS允许传递9个批参数信息给批处理文件,分别为%1~%9(%0表示test2命令本身) ,这有点象编程中的实参和形参的关系,%1是形参,AUTOEXEC.BAT是实参。

[ 本帖最后由 eft 于 2007-3-12 12:11 AM 编辑 ]
作者: lp1129    时间: 2007-3-26 12:41
你的系统可能有问题了,命令本身是没有问题的,你可以到其它机子试试
作者: longteeth    时间: 2007-3-27 15:34
楼上有道理
作者: PPP1314    时间: 2007-4-10 00:35
....顶下,

可能你的X盘格式为:NTFS格式, 或者X盘的盘有NTFS格式,导致 IF EXIST 判断的X盘实际上为其它盘.......
作者: NaturalJ0    时间: 2007-4-10 11:46
文件名有空格没?加上引号再试试看。




欢迎光临 无忧启动论坛 (http://bbs.wuyou.net/) Powered by Discuz! X3.3