como faço para forçar o eco de um arquivo em lote sem editar o arquivo?

1

Eu estou tentando descobrir o que está errado dentro de um arquivo de lote do microsoft, e quero preservar o arquivo e o ambiente de onde ele é executado de forma nativa. Como posso forçar o echo a ficar ligado para que eu possa encontrar a linha que está dando um erro sem alterar o arquivo?

    
por Maslow 28.10.2011 / 21:03

3 respostas

2

Se o arquivo em lote tiver Echo Off , você está sem sorte, a menos que você remova / observe essa linha (ou altere para Echo On ).

É bastante seguro fazer um backup, REM sair dessa linha e salvá-lo, pois isso não afetará nenhuma funcionalidade além de impedir que o Echo seja desativado.

Você não pode fazer um omelete sem quebrar alguns ovos . :)

Talvez apenas avise "eles" do que você vai fazer; Se já está quebrado, e eles pediram para você olhar, então duvido que eles se importem. :)

    
por 28.10.2011 / 21:13
1

Apenas substitua todos

echo off

com

call:echo_off

e acrescente o seguinte aos seus arquivos de lote

:echo_off
REM echo off
@echo echo off supressed
goto:eof

Outra abordagem: Substitua todas as chamadas de eco por

call:echo

e tenha um funktion como

:echo
REM call of '@echo on' optional since 'call:echo off' will just print 'echo:off'
@echo echo:%*
REM do '@echo %*' instead if you want 'call:echo off' call 'echo off' again
@goto:eof
    
por 23.02.2018 / 14:05
1

Se você quiser editar o arquivo de lote agora e não editá-lo novamente, poderá ter algo assim na parte superior do seu arquivo:

@echo off & if "%1"=="/o" @echo on

e, em seguida, você pode começar a normal para o eco off ou iniciá-lo com file.bat /o para o eco off.
Se você não quer editar o arquivo de lote, então você está sem sorte.

    
por 27.06.2018 / 21:56