【原】[一日一教学]批处理系列帖子索引 http://bbs.bathome.net/thread-2576-1-1.html
【续】[一日一教学]批处理系列帖子索引 http://bbs.bathome.net/thread-13798-1-1.html
帮助信息:- 显示信息,或将命令回显打开或关上。
-
- ECHO [ON | OFF]
- ECHO [message]
-
- 要显示当前回显设置,键入不带参数的 ECHO。
复制代码 命令概括:
echo,全英文echo,意为:回音,反射;这里可以引申为回显。
参数详解:
echo有两种语法,两种都是经常用到的。
先看第一种:复制代码 这种语法,意思是“将命令回显打开或关上”。
echo off 常出现在批处理文件的首行,而且还稍有不同,多了个@
例如:- @Echo Off
- net user
- Pause>Nul
复制代码 效果:- \\HELLOWORLD-PC 的用户帐户
-
- -------------------------------------------------------------------------------
- Administrator Guest
- 命令成功完成。
复制代码 为什么都在首行加上这条语句呢?
echo off是什么意思?
前面加上@又是为什么?
第一个问题是由第二个问题和第三个问题组合形成的,所以只要回答了第二、第三问,第一问也迎刃而解了。
echo off是什么意思?
on 和 off 都是echo 的关键字,所谓关键字就是系统规定、有特殊用途的字符。
echo on 是打开回显,echo off 是关闭回显。
系统默认是echo on,所以每次为了关闭回显,都会在代码的行首加上echo off,加以关闭。
不在行首加echo off。
例如:复制代码 效果:- C:\Users\helloworld\Desktop>net user
-
- \\HELLOWORLD-PC 的用户帐户
-
- -------------------------------------------------------------------------------
- Administrator Guest
- 命令成功完成。
-
-
- C:\Users\helloworld\Desktop>Pause1>Nul
复制代码 看出差别来了吗?
不关闭回显,net user命令 pause >nul都回显了出来,这在程序运行时会影响结果的美观度,所以大家一般在行首加上echo off。
前面加上@又是为什么?
echo off只能关闭 echo off后面的代码的回显,但不能关闭自身的回显。
还是举例来说明。
例如:- echo off
- net user
- Pause>Nul
复制代码 效果:- C:\Users\helloworld\Desktop>echo off
-
- \\HELLOWORLD-PC 的用户帐户
-
- -------------------------------------------------------------------------------
- Administrator Guest
- 命令成功完成。
复制代码 net user命令 pause >nul都没有回显了出来,但是Echo off却显示出来了。
所以才要在行首加上@echo off.
echo也可以光杆使用,输入光杆echo,显示当前回显的状态,关闭 or 打开。
第二种语法:
ECHO [message]
message,全英文message,意为:消息、信息、留言。
message可以是任意的字符,但是不能是 on 和 off,因为这两个是关键字,所以,你想输出 on 和 off ,必须用逗号等命令分隔符代替默认的空格分隔符。
例如:- C:\Users\helloworld\Desktop>echo,on
- on
-
- C:\Users\helloworld\Desktop>echo,off
- off
复制代码 例如:- @echo off
- echo 慷慨歌燕市,从容作楚囚。
- echo 引刀成一快,不负少年头。
- echo “曲线救国”的汪精卫都能做出这样的诗,我辈怎敢不自勉。
- echo off
- echo on
- Pause>Nul
复制代码 扩展阅读:
1.用echo输出空行。- @echo off
- echo.
- echo 慷慨歌燕市,从容作楚囚。
- echo;
- echo 引刀成一快,不负少年头。
- echo\
- echo “曲线救国”的汪精卫都能做出这样的诗,我辈怎敢不自勉。
- echo/
- echo hello
- echo,
- pause
复制代码 参考:echo命令耗时对比
http://bbs.bathome.net/thread-4482-1-1.html#pid28940
2.echo 结合重定向输出符 > 可以作为创建文本文件的命令。
例如:- echo hello >c:\1.txt
- start 1.txt
复制代码 在c盘根目录创建一个内容为hello的1.txt
由于脚本特性,即是可运行程序又是文本文件,所以echo其实还可以创建各种脚本,vbs、js、html,只要你学会这些脚本语言的使用,你就可以用echo创建它们。
我做了一工具,就是利用了这一特性。
例如:
批处理实现-以网页套图形式浏览当前文件夹中的图片
【补充】需要向一个文件写入多行内容时,需要注意的几个地方:
http://bbs.bathome.net/thread-13860-1-1.html#pid233014 |