1

Я пытаюсь выяснить, что происходит не так внутри пакетного файла Microsoft, и я хочу сохранить файл и среду, из которой он работает, как это было бы изначально. Как заставить эхо оставаться включенным, чтобы я мог найти строку, которая выдает ошибку, не меняя их файл?

3 ответа3

2

Если в пакетном файле есть Echo Off , то вам не повезет, если вы не удалите / не отметите эту строку (или не измените ее на Echo On).

Довольно безопасно сделать резервную копию, УДАЛИТЬ эту строку и сохранить ее, поскольку она не повлияет на какую-либо функциональность, кроме предотвращения отключения Echo.

Вы не можете сделать омлет, не разбив несколько яиц. :)

Возможно, просто предупредите "их" о том, что вы собираетесь делать; Если он уже сломан, и они попросили вас посмотреть на него, то я сомневаюсь, что они будут возражать. :)

1

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

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

и затем вы можете просто запустить его нормально для отключения эха или запустить его с file.bat /o для отключения эха.
Если вы вообще не хотите редактировать командный файл, вам не повезло.

1

Просто замени все

echo off

с

call:echo_off

и добавьте следующее к вашим пакетным файлам

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

Другой подход: заменить все эхо-вызовы на

call:echo

и иметь такую функцию, как

: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

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