3

Я не могу сказать, почему контекст if изменил бы мою способность выполнять тот же код.

Пока это:

@SET FILE_MAIL_BODY=mail.body
@echo The build FAILED because of a lock on the 'classes' folder (or its subfolders).>%FILE_MAIL_BODY%

отлично работает, запустив следующий фрагмент:

@SET retval=%ERRORLEVEL%
if %retval% == 1 (
    @SET FILE_MAIL_BODY=mail.body
    @echo The build FAILED because of a lock on the 'classes' folder (or its subfolders).>%FILE_MAIL_BODY%  
)

не удается с сообщением:

. was unexpected at this time.

, если я не удалю . после subfolders .

1 ответ1

3

Вы должны экранировать () открытые и закрытые круглые скобки в команде ECHO с символом ^ caret (см. Ниже), так что это будет: @echo The build FAILED because of a lock on the 'classes' folder ^(or its subfolders^).>%FILE_MAIL_BODY% .

@SET retval=%ERRORLEVEL%
if %retval% == 1 (
    @SET FILE_MAIL_BODY=mail.body
    @echo The build FAILED because of a lock on the 'classes' folder ^(or its subfolders^)^.>%FILE_MAIL_BODY%  
)

Дополнительные ресурсы

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .