Пакетный сценарий - ЕСЛИ EXIST копия в% localappdata% ошибка - PullRequest
6 голосов
/ 04 июля 2011

Мне кажется, что я застрял в пакетном скрипте и мне нужна помощь.

В основном мне нужно проверить, существует ли файл в папке в %localappdata%, и если он есть, перезаписать файлесли не поместить его в другое место, то в данный момент он выглядит так:

IF EXIST "%localappdata%\foldername\filename" COPY /Y "filename" "location" ELSE COPY "filename" "location2" 

Но когда он запускается, я получаю сообщение об ошибке The syntax of the command is incorrect. Похоже, что до переменной %localappdata%используется.

Заранее благодарим вас за любую помощь в этом.

1 Ответ

6 голосов
/ 04 июля 2011

Вам нужно поместить две команды для IF ветвей в паренах:

IF EXIST "%localappdata%\foldername\filename" (COPY /Y "filename" "location") ELSE (COPY "filename" "location2")

Причина этого в том, что оболочка должна быть в состоянии сказать, что если файл существует,команда, которую вы хотите выполнить, это просто:

COPY /Y "filename" "location"

и не все это:

COPY /Y "filename" "location" ELSE COPY "filename" "location2"

Если подумать, все эти ELSE COPYвещи вполне могут быть допустимыми параметрами для первого COPY - оболочка не может знать, если вы не поможете.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...