邪恶八进制信息安全团队技术讨论组's Archiver

intruder 2005-3-19 21:23

[转载]ECHO命令的超详细使用

  信息来源:雪晖在线   

ECHO命令是大家都熟悉的DOS批处理命令的一条子命令,但它的一些功能和用法也许你并不是全都知道,不信你瞧:
1. 作为控制批处理命令在执行时是否显示命令行自身的开关

格式:ECHO [ON|OFF]

如果想关闭“ECHO OFF”命令行自身的显示,则需要在该命令行前加上“@”。

2. 显示当前ECHO设置状态

格式:ECHO

3. 输出提示信息

格式:ECHO信息内容

上述是ECHO命令常见的三种用法,也是大家熟悉和会用的,但作为DOS命令淘金者你还应该知道下面的技巧:

4. 关闭DOS命令提示符

在DOS提示符状态下键入ECHO OFF,能够关闭DOS提示符的显示使屏幕只留下光标,直至键入ECHO ON,提示符才会重新出现。

5. 输出空行,即相当于输入一个回车

格式:ECHO.

值得注意的是命令行中的“.”要紧跟在ECHO后面中间不能有空格,否则“.”将被当作提示信息输出到屏幕。另外“.”可以用,:;”/[\]+等任一符号替代。

在下面的例子中ECHO.输出的回车,经DOS管道转向作为TIME命令的输入,即相当于在TIME命令执行后给出一个回车。所以执行时系统会在显示当前时间后,自动返回到DOS提示符状态:

C:>ECHO.|TIME

ECHO命令输出空行的另一个应用实例是:将ECHO.加在自动批处理文件中,使原本在屏幕下方显示的提示画面,出现在屏幕上方。

6. 答复命令中的提问

格式:ECHO答复语|命令文件名

上述格式可以用于简化一些需要人机对话的命令(如:CHKDSK/F;FORMAT Drive:;del *.*)的操作,它是通过DOS管道命令把ECHO命令输出的预置答复语作为人机对话命令的输入。下面的例子就相当于在调用的命令出现人机对话时输入“Y”回车:

C:>ECHO Y|CHKDSK/F

C:>ECHO Y|DEL A :*.*

7. 建立新文件或增加文件内容

格式:ECHO 文件内容>文件名

ECHO 文件内容>>文件名

例如:C:>ECHO @ECHO OFF>AUTOEXEC.BAT建立自动批处理文件

C:>ECHO C:\CPAV\BOOTSAFE>>AUTOEXEC.BAT向自动批处理文件中追加内容

C:TYPE AUTOEXEC.BAT显示该自动批处理文件

@ECHO OFF

C:\CPAV\BOOTSAFE

8. 向打印机输出打印内容或打印控制码

格式:ECHO 打印机控制码>PRN

ECHO 打印内容>PRN

下面的例子是向M-1724打印机输入打印控制码。<Alt>156是按住Alt键在小键盘键入156,类似情况依此类推:

C:>ECHO <Alt>+156<Alt>+42<Alt>+116>PRN(输入下划线命令FS*t)

C:>ECHO <Alt>+155@>PRN(输入初始化命令ESC@)

C:>ECHO.>PRN(换行)

9. 使喇叭鸣响

C:>ECHO ^G

“^G”是用Ctrl+G或Alt+007输入,输入多个^G可以产生多声鸣响。使用方法是直接将其加入批处理文件中或做成批处理文件调用。

10.执行ESC控制序列修改屏幕和键盘设置

我们知道DOS的设备驱动程序ANSI.SYS提供了一套用来修改屏幕和键盘设置的ESC控制序列。如执行下述内容的批处理程序可以把功能键F12定义为DOS命令“DIR/W”,并把屏幕颜色修改为白色字符蓝色背景。

@ECHO”←[0;134;”DIR/W”;13p

@ECHO”←[1;37;44m

(注:批处理文件中“←”字符的输入方法是在编辑状态下按Alt中小键盘上的27)

DOS命令是接触计算机的人首先要学到的,对许多人来说是太熟悉太简单了,其实不然,在这些命令中蕴藏着丰富的内容,仍有待于我们进一步去理解去开发,如果你是一个有心人就一定会从这些自以为熟知的命令中发现新的闪光点,淘得真金。

红衣少年 2005-4-10 13:15

intruder老哥~~(偶89年出生嘀,叫你老哥不冤枉吧)
对与
ECHO答复语|命令文件名
有疑问,
运行 echo n|chkdsk /f 时
两个问题,回答全部都是“N”
如果我想第一次为“N”,第二次为“Y”呢?

ypchen 2005-8-17 10:18

现在介绍批处理的书越来越少了 批处理虽然是DOS时代的产物 但是却是很有用的 如同LINUX下的BASH SHELL

凌霄子 2005-9-7 09:28

“@ECHO”←[0;134;”DIR/W”;13p

@ECHO”←[1;37;44m

(注:批处理文件中“←”字符的输入方法是在编辑状态下按Alt中小键盘上的27) ”
不是太明白啊,这个符号在txt里怎么输入啊?

凌霄子 2005-9-7 09:50

通过在txt文档里的试验,按住alt在输入小键盘上的数字两个或三个可以打出一些奇怪的字符来,如alt+248会出现

sunwear 2005-9-7 10:20

楼上的可以看一下 ASCII码、Unicode字符集,你就应该明白一点点了。
你可以试试打开笔记本输入, alt+115  alt+117 alt+110 alt+119 alt+101 alt+97 alt+114
你就可以看到显示sunwear 了
这个就是把十进制ascii码转换成了字符。
你还可以试试 alt+53424  alt+46833 alt+45259 alt+48632 alt+54982  这样的结果是“邪恶八进制”
而输入alt+45561 alt+53673 alt+47074 alt+51177 alt+83 alt+66  结果就是“冰血封情SB”

欢迎各位踊跃测试 :)

pig4210 2005-9-22 12:41

C:\>echo.|time
当前时间: 12:41:51.34
输入新时间:

C:\>echo.|time |find "时间"
当前时间: 12:42:17.55

经过这么一搞好像比较好一点。用了两次管道。嘿嘿。就不会出现有“输入新时间:”的麻烦了。用在批处理里就方便。比time /t提供的时间好多一点信息。

stig2 2005-10-8 20:29

C:\>echo.|time |find "时间"

显示的是同样还是
当前时间: 12:41:51.34
输入新时间:

zeroto 2005-12-6 13:35

9. 使喇叭鸣响

C:>ECHO ^G

“^G”是用Ctrl+G或Alt+007输入,输入多个^G可以产生多声鸣响。使用方法是直接将其加入批处理文件中或做成批处理文件调用。



哈哈,原来ECHO还有这作用,收下了~

netsnow 2005-12-10 13:17

[quote][b]下面是引用sunwear于2005-09-07 10:20发表的:[/b]
楼上的可以看一下 ASCII码、Unicode字符集,你就应该明白一点点了。
你可以试试打开笔记本输入, alt+115  alt+117 alt+110 alt+119 alt+101 alt+97 alt+114
你就可以看到显示sunwear 了
这个就是把十进制ascii码转换成了字符。
你还可以试试 alt+53424  alt+46833 alt+45259 alt+48632 alt+54982  这样的结果是“邪恶八进制”
.......[/quote]
还有个问题。怎么把汉字转换成ASCII码呢?
还是没有懂得你的意思。。。请赐教一下好吗?

页: [1]
© 1999-2008 EvilOctal Security Team