2010-12-02 72 views

回答

567
if exist <insert file name here> (
    rem file exists 
) else (
    rem file doesn't exist 
) 

或者在一行(如果只有一个动作需要进行):

if exist <insert file name here> <action> 

例如,这将打开记事本上的autoexec.bat,如果该文件存在:

if exist c:\autoexec.bat notepad c:\autoexec.bat 
70
C:\>help if 

在批处理程序中执行条件处理。

IF [NOT] ERRORLEVEL number命令

IF [NOT]字符串1 ==字符串2命令

IF [NOT] EXIST filename命令

28

尝试类似如下例如,在Windows XP上从IF /?的输出引用:

 
    IF EXIST filename. (
     del filename. 
    ) ELSE (
     echo filename. missing. 
    ) 

您还可以使用IF NOT EXIST检查丢失的文件。

IF指令非常强大。 IF /?的输出将奖励仔细阅读。对于这个问题,在许多其他内置命令中尝试使用/?选项来获得大量隐藏的宝石。

+5

为什么'。'在文件名的末尾?这是一个错字吗? – Everyone 2013-06-04 17:30:56

+4

我引用了内置于CMD.EXE中的具有这些点的实际“IF”命令的帮助文本。我不知道他们为什么包括他们,这似乎不一致。当然,`EXIST`关键字实际需要的是一个有效的文件名,它可能是完全限定的。其他命令使用成语`[驱动器:] [路径]文件名`来代替文本`文件名.`在这里使用,这显然更清楚。 – RBerteig 2013-06-04 17:36:54

相关问题