Bai*_*ang 120 windows batch-file
我看到@在这种情况下使用:
@echo off
@echo start eclipse.exe
Run Code Online (Sandbox Code Playgroud)
@这里的意思是什么?
Joe*_*oey 178
这意味着不输出相应的命令.比较以下两个批处理文件:
@echo foo
Run Code Online (Sandbox Code Playgroud)
和
echo foo
Run Code Online (Sandbox Code Playgroud)
前者仅foo作为输出,而后者打印
H:\Stuff>echo foo
foo
Run Code Online (Sandbox Code Playgroud)
(至少在这里).可以看出,运行的命令也是可见的.
echo off将关闭整个批处理文件.但是,echo off呼叫本身仍然可见.这就是您@echo off在批处理文件开头看到的原因.关闭命令回显,不要回显关闭命令.
删除该行(或将其注释掉)通常是更复杂的批处理文件中有用的调试工具,因为您可以看到错误消息之前运行的内容.
Jer*_*Gee 19
这意味着"不要将命令回显到标准输出".
相当奇怪的是,
echo off
Run Code Online (Sandbox Code Playgroud)
将发送echo off到输出!所以,
@echo off
Run Code Online (Sandbox Code Playgroud)
将此自动回声行为设置为关闭 - 并为将来的所有命令停止它.
来源:http://www.microsoft.com/resources/documentation/windows/xp/all/proddocs/en-us/batch.mspx? mfr = true
sar*_*old 11
所述@禁用回声为一个命令.没有它,echo start eclipse.exe行会同时打印预期start eclipse.exe 和该echo start eclipse.exe行.
该echo off关通过默认命令呼应圈.
因此@echo off默默地关闭命令回显,并且只输出要写入的批处理作者实际写入.
ter*_*ian 11
在批处理文件中:
\n\n2 echo off(solo)=> \xe2\x80\x9cecho off\xe2\x80\x9d 在命令行中显示
\n\n\n\n看,echo off(solo),表示命令行没有输出,但本身显示;\n@echo off(solo),表示命令行没有输出,本身也不显示;
\n默认情况下,批处理文件将在运行时显示其命令。@echo关闭的第一个命令的目的是关闭此显示。命令“ echo off”关闭整个脚本的显示,但“ echo off”命令本身除外。前面的“ @”符号“ @”使命令也适用于其自身。
包含@的另一个有用时间是FOR在命令行中使用时.例如:
FOR %F IN (*.*) DO ECHO %F
Run Code Online (Sandbox Code Playgroud)
每个文件的上一行显示:命令提示符,ECHO命令和ECHO命令结果.这条路:
FOR %F IN (*.*) DO @ECHO %F
Run Code Online (Sandbox Code Playgroud)
只ECHO显示命令的结果.
| 归档时间: |
|
| 查看次数: |
186125 次 |
| 最近记录: |