[英]How do I stop my batch file from printing the code it is running?
I have the following script: 我有以下脚本:
FOR %%i IN (1 2 3) DO (
IF %%i==1 (
ECHO %%i
)
IF %%i==2 (
ECHO %%i
)
IF %%i==3 (
ECHO %%i
)
)
I just wanted to print 我只是想打印
1
2
3
because I will be using the same logic again to write a more complete task ... I'm not a Windows guy, and I have no idea how to do it in batch
. 因为我将再次使用相同的逻辑来编写更完整的任务...我不是Windows专家,也不知道如何
batch
执行该任务。 Instead I'm getting: 相反,我得到:
c:\>FOR %i IN (1 2 3) DO (
IF %i == 1 (ECHO %i )
IF %i == 2 (ECHO %i )
IF %i == 3 (ECHO %i )
)
c:\>(
IF 1 == 1 (ECHO 1 )
IF 1 == 2 (ECHO 1 )
IF 1 == 3 (ECHO 1 )
)
1
c:\>(
IF 2 == 1 (ECHO 2 )
IF 2 == 2 (ECHO 2 )
IF 2 == 3 (ECHO 2 )
)
2
c:\>(
IF 3 == 1 (ECHO 3 )
IF 3 == 2 (ECHO 3 )
IF 3 == 3 (ECHO 3 )
)
3
To avoid echoing the Windows commands in a shell script, use @echo off
: 为了避免在外壳程序脚本中回显Windows命令,请使用
@echo off
:
@ECHO OFF
FOR %%i IN (1 2 3) DO (
IF %%i==1 (
ECHO %%i
)
IF %%i==2 (
ECHO %%i
)
IF %%i==3 (
ECHO %%i
)
)
Note the preceding @
in echo off
prevents echo off
from echoing. 请注意,前面的
@
in echo off
可以防止echo off
回显。 If you don't have the @
then you'll see echo off
echoed to the terminal but then echoing will be off after that point. 如果您没有
@
那么您会看到echo off
回显到终端,但是在该点之后回显将关闭。 A shell command which is preceded by @
is not echoed. 不回显以
@
开头的shell命令。 So @
can be used to prevent echoing of individual commands. 因此
@
可以用来防止回显单个命令。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.