【问题标题】:Windows batch job how to echo a command when echo is offWindows批处理作业如何在回显关闭时回显命令
【发布时间】:2014-11-03 15:16:58
【问题描述】:

我已经搜索并搜索了这个,但我找不到答案。也许这是不可能的。我想为我的整个批处理作业“回显”,但我希望某些行回显。

我知道我可以在每一行前面放一个@,然后在我想要回显的任何行中去掉@。

但是有没有办法:

echo off
call setver
if not exist todir md todir
copy myfile.exe todir

除了“复制”声明之外,我什么都不想要……

【问题讨论】:

  • 是什么引起了这个问题? (为什么需要?)

标签: windows batch-file


【解决方案1】:
@echo off
call setver
if not exist todir md todir
ECHO ON
copy myfile.exe todir
@ECHO OFF

应该做你想做的,IIUC。

对于不可避免的后续,“你如何回应“开”这个词`

echo(on

其中( 可能是任何常见的工作人员,例如. 等。

【讨论】:

  • 好的,谢谢。我已经这样做了,但我希望有一种基本上与@相反的方式,即“回显这条线”,这样我就不必在整个工作中都有“回声开/回声关”对,但我想可能没有其他办法......
【解决方案2】:

您也可以在执行命令之前回显命令本身。

@echo off
call setver
if not exist todir md todir
echo copy myfile.exe todir
copy myfile.exe todir

可以看出,显示可见的命令只是在文件中重复,echo 放在前面。这也适用于命令行中引用的环境变量。

必须注意仅包含重定向的命令,因为重定向尖括号必须用^ 转义以输出尖括号而不是重定向消息。示例:

@echo off
echo set ^>"%TEMP%\AllVariables.txt"
set >"%TEMP%\AllVariables.txt"
del "%TEMP%\AllVariables.txt"

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-12-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-10-29
    相关资源
    最近更新 更多