文件始终存在批处理文件

时间:2012-03-14 01:28:25

标签: batch-file

我有一个检查文件是否存在的批次。请参阅下面的代码..

  @ECHO OFF

  REM Clear screen before executing other commands 
  CLS 

  SET WebConfig=C:\inetpub\wwwroot\ABC\Web.Config
  SET CodeLocation=C:\inetpub\wwwroot\ABC\*.*


  IF NOT EXIST %WebConfig% GOTO WebError

  :WebError
     ECHO Web.Config File doesn't Exist...
     pause
     GOTO:EOF

  ECHO Working.. 

执行批处理文件时,我总是收到错误文件不存在..即使该文件存在于define文件夹中..

你们能帮助我吗?希望很快收到你的来信..

谢谢,

Nestea

2 个答案:

答案 0 :(得分:1)

仔细阅读这部分代码:

IF NOT EXIST %WebConfig% GOTO WebError
:WebError

现在文件存在时会发生什么?不要回答,这是修辞: - )

它会跳到下一行,即等待它,错误消息部分。

请尝试使用此选项,当if语句未跳转时,它会跳过错误消息部分:

    if not exist %WebConfig% goto WebError
    goto WebOkay
:WebError
    echo Web.Config File doesn't exist.
    pause
    goto :EOF
:WebOkay
    echo Working.

它还可以进一步简化为:

    if exist %WebConfig% goto WebOkay
    echo Web.Config File doesn't exist.
    pause
    goto :EOF
:WebOkay
    echo Working.

答案 1 :(得分:1)

您需要稍微重新安排批处理文件,以便它具有正确的执行流程。

除非文件不存在,否则你需要继续前进,在这种情况下你会跳出来。请参阅下面标有REM的{​​{1}}语句:

***