如何在不编辑文件的情况下强制批处理文件回显?

如何在不编辑文件的情况下强制批处理文件回显?

我正在尝试找出 Microsoft 批处理文件中出了什么问题,并且我想保留它运行的文件和环境,就像它本来运行的那样。我如何才能强制 echo 保持打开状态,这样我就可以找到出错的行,而无需更改其文件?

答案1

如果批处理文件中有该内容,那么除非您删除/注释该行(或将其更改为),Echo Off否则您很可能会失败。Echo On

进行备份、删除该行并保存它是相当安全的,因为它不会影响任何功能,除了防止 Echo 被关闭。

不打碎几个鸡蛋就做不成煎蛋卷。 :)

也许只是警告“他们”你要做什么;如果它已经坏了,而他们又要求你看看,那么我怀疑他们会介意。:)

答案2

如果您想立即编辑批处理文件,然后不再编辑它,则可以在文件顶部添加如下内容:

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

然后您可以正常启动它并关闭 echo 或使用file.bat /o关闭 echo 启动它。
如果您根本不想编辑批处理文件,那么您就没那么幸运了。

答案3

为了尽量减少从一种行为转变为另一种行为时需要做的更改:

只需替换所有

echo off

call:echo_off

并将以下内容附加到批处理文件中

:echo_off
@REM activate only one of the two following lines to choose the desired behaviour
REM echo off
@echo echo off supressed

goto:eof

另一种方法:用以下方法替换所有 echo 调用

call:echo

并具有如下功能

:echo
REM call of '@echo on' optional since 'call:echo off' will just print 'echo:off'
@REM activate only one of the two following lines to choose the desired behaviour
@echo echo:%*
@REM echo %*
@goto:eof

echo:但是,当您选择关闭回显抑制时,这将通过在前面添加 . 来更改所有回显命令的输出格式。

相关内容