Não é possível usar o ponto antes de redirecionar para o arquivo em um arquivo de lote

4

Não sei dizer por que o contexto de um if mudaria minha capacidade de executar o mesmo código.

Enquanto isso:

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

funciona bem, executando o seguinte snippet:

@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%  
)

falha com a mensagem:

. was unexpected at this time.

, a menos que eu exclua o . após subfolders .

    
por elder elder 01.07.2016 / 18:47

1 resposta

3

Você precisa escapar dos caracteres de parêntese de () abertos e fechados no comando ECHO com o caractere ^ circunflexo (veja abaixo), portanto, será: @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%  
)

Mais recursos

por 01.07.2016 / 18:55