本章将介绍 echo、@ 和 pause 几个简单,且常用的命令/符号。
echo 命令用来显示此命令后的字符 。echo语法如下:
echo [on|off] [message]
参数:
on | off 指定是否允许命令的回显。若要显示当前的 echo 的设置,可使用不带参数的 echo 命令。
message 指定让 MS-DOS 在屏幕上显示的正文。
实例:下面实例将在DOS控制台中输出 “hello bat”。
@echo off echo hello bat pause
脚本说明:
(1)@ 表示将不在 DOS 中显示 echo off 命令;
(2)echo off 表示后续命令在 DOS 中不显示;
(3)echo hello bat 表示将在 DOS 中显示 “hello bat” 字符串;
(4)pause 表示脚本执行完成后,不立即关闭 DOS 窗口,而是提示 “请按任意键继续...” 信息。当用户按了任意键,DOS 窗口将关闭;
运行结果:
hello bat 请按任意键继续. . .
在运行批处理程序时,MS-DOS一般在屏幕上显示(回显)批处理程序中的命令。如下:
echo hello bat pause
运行结果:
C:\Users\Administrator\Desktop\bat>echo hello bat hello bat C:\Users\Administrator\Desktop\bat>pause 请按任意键继续. . .
查看运行结果得知,bat 执行的每条命令都显示在了 DOS 窗口中。我们使用 echo 命令可隐藏 DOS 中显示的命令。如下:
echo off echo hello bat pause
运行结果:
C:\Users\Administrator\Desktop\bat> test.bat C:\Users\Administrator\Desktop\bat>echo off hello bat 请按任意键继续. . .
上面实例中,echo off 表示在此语句后所有运行的命令都不在 DOS 中显示。但是,echo off 命令本身将会显示出来。如果你想不显示 echo off 命令,可以在 echo off 前面添加 @ 符号(@符号的用法,后面将介绍)。
@ 符号的作用是屏蔽批处理程序中执行的命令行在 DOS 窗口显示(即在 DOS 中不显示执行的命令)。实例如下:
@echo hello bat @pause
运行结果:
C:\Users\Administrator\Desktop\bat> test.bat hello bat 请按任意键继续. . .
@ 符号与 echo off 相似,均是用来屏蔽命令在 DOS 中输出。但 @ 符号是加在每个命令行的最前面,表示运行时不显示这一行的命令行(只能影响当前行)。而 echo off 则是隐藏该命令后面的所有命令(但是不影响 echo off 命令)。实例:
@echo off echo hello bat pause
这样就完美解决了命令在 DOS 窗口回显问题。如果只使用 @,每个命令都要添加 @ 符号,很不友好;仅仅使用 echo off,而 echo off 命令还是被显示。
运行 pause 语句会暂停批处理的执行并在屏幕上显示 “Press any key to continue...” 或 “请按任意键继续 . . .” 的提示,等待用户按任意键后继续。如下:
C:\Users\Administrator> pause 请按任意键继续. . .
实例:用户按两下任意键,关闭 DOS 窗口。
@echo off pause pause
运行结果:
C:\Users\Administrator\Desktop\bat> test.bat 请按任意键继续. . . 请按任意键继续. . .
你写个毛线,
实例:下面实例将在DOS控制台中输出 “hello bat”。
@
echo
off
echo
hello bat
pause
echo
off都关闭输出了怎么还会输出
在 Windows 的批处理脚本(.bat 或 .cmd)中,@echo off 是两个功能的组合,用于控制脚本执行过程中的 “命令回显” 行为:
(1)echo off:关闭 “命令回显” 模式。默认情况下,批处理脚本执行时,会在控制台重复显示每一条正在执行的命令本身(例如执行 echo "Hello" 时,会先显示 echo "Hello",再显示 "Hello")。echo off 会禁用这种 “显示命令本身” 的行为,只输出命令的执行结果(若命令有结果)。
(2)@ 符号:作用于单个命令,让该命令本身不被回显。由于 echo off 本身也是一条命令,加上 @ 后,@echo off 这条命令不会被回显到控制台(否则执行脚本时会先显示 echo off,再关闭回显)。
注意:@echo off 仅控制 “命令本身是否被回显”,不影响 echo 语句的核心功能(输出指定内容)。