Windows批处理作业如何在echo关闭时回显命令

时间:2014-11-03 15:16:59

标签: windows batch-file

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

我知道我可以在每一行前放一个@,然后将@ off留在我想要回应的任何一行。

但是有办法吗?

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

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

2 个答案:

答案 0 :(得分:1)

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

应该做你想做的事,IIUC。

对于不可避免的后续行动,"你如何回应"'"`

echo(on

其中(可能是.等常见工作人员。

答案 1 :(得分:0)

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

@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"