Файл всегда существует Пакетный файл - PullRequest
0 голосов
/ 14 марта 2012

У меня есть партия, которая проверяет наличие файла.Пожалуйста, смотрите код ниже ..

  @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.. 

При выполнении командного файла я всегда получаю сообщение об ошибке, которого не существует .. Даже если файл существует в определенной папке ..

Ребята, вы можете мне помочь?Надеюсь услышать от вас скоро ..

Спасибо,

Nestea

Ответы [ 2 ]

1 голос
/ 14 марта 2012

Вам нужно немного переставить ваш пакетный файл, чтобы он имел правильный ход выполнения.

Вам нужно продолжать, если файл НЕ существует, и в этом случае вы выпрыгиваете. См. REM операторы, отмеченные *** ниже:

@ECHO OFF

REM Clear screen before executing other commands 
CLS 

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

REM *** If the web config file doesn't exist, skip the rest
REM *** of the batch file and show an error. Otherwise, keep
REM *** going.
IF NOT EXIST %WebConfig% GOTO WebError

ECHO Working... 
REM *** Other "working" stuff here, then jump past WebError block
GOTO Eof

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

:EOF
REM Do whatever else here
1 голос
/ 14 марта 2012

Посмотрите внимательно на этот раздел кода:

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.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...