1、echo 命令
打开回显或关闭请求回显功能,或显示消息。如果没有任何参数,echo [批处理与联机处理]
批处理与联机处理
命令将显示当前回显设置。
语法
echo [{on|off}] [message]
Sample:@echo off / echo hello world
在实际应用中我们会把这条命令和重定向符号(也称为管道符号,一般用> >> ^)结合来实现输入一
些命令到特定的文件中。
2、举例:
第一步:建立批处理文件
第二步:写代码
@echo off
echo 欢迎您来到华中红客安全网学习!
pause
第三步:保存
简单了解代码意思:
@echo off //这一句是关闭回显,如果没有这一句的话会显示一些信息,比较碍眼。
echo 欢迎您来到华中红客安全网学习! //在屏幕上显示“欢迎您来到华中红客安全网学习!”
pause
会出现如下图所示的文字样式!
详细解释:
(1)、echo off 关闭回显(即批处理中的命令语句不会显示)
(2)、echo on 打开回显
(3)、符号“@”的意思是不显示它后面的命令语句,只显示命令执行的结果!
例子:
echo 你好
@echo 你好
pause
说明:
第一条因为没加“@”符号,所以会显示“echo 你好”,然后在显示命令执行的结果“你好”。
第二条命令加了“@”符号,所以只显示了命令执行的结果,就是“你好”。
第三条没加“@”符号,所以会显示执行了pause命令。
会显示如下图所示的样式:
(4)、echo 用于显示
echo命令的作用有两个,一个时在CMD上显示一行内容,如:echo 欢迎您来到华中红客安全网学习!
还有一个时显示关闭命令的回显:echo off
我们在echo off命令前加一个“@”符号是为了不让echo off这条命令本身显示出来,可以让批处理达到整体的美观!
例子:
@echo off
echo 你好
echo 你好
pause
注:pause命令就是暂停的意思,防止批处理执行完毕后直接退出,执行到pause命令时CMD就会显示
“请按任意键继续”这一行!
会打印如下图所示的样式:
3、小技巧
如果大家对那个DOS命令不明白,可以通过输入“命令”/? 来得到系统提供的帮组信息,也可以在“开始”--“运行”--输入“hh ntcmds.chm::ntcmds.htm”来得到更详细的命令行帮组来理解
4、实例
@echo off
echo 正在清除系统垃圾文件,请稍后。。。
del /s /f /q %systemdrive%\*.tmp >nul 2>nul
del /s /f /q %systemdrive%\*.gid >nul 2>nul
del /s /f /q %systemdrive%\*.chk >nul 2>nul
del /s /f /q %systemdrive%\*.old >nul 2>nul
del /s /f /q "%userprofile%\local settings\temp\*.*" >nul 2>nul
del /s /f /q "%userprofile%\recent\*.*" >nul 2>nul
del /s /f /q "%userprofile%\cookies\*.*" >nul 2>nul
del /s /f /q "%userprofile%\local settings\history\*.*" >nul 2>nul
del /s /f /q "%windir%\temp\*.*" >nul 2>nul
del /s /f /q "%windir%\prefetch\*.*" >nul 2>nul
echo 垃圾文件清理完毕!
echo. & pause
注:这是一个用来清除系统垃圾文件的批处理程序。命令其实也是很简单的,主要是用到“del”命令和相关的参数来实现
有关“del”命令的参数大家可以参考“del /?”来得到详细的帮助。
另外还有“%systemdrive%、%userprofile%”。那么它们是什么呢,这些其实是系统变量,也就是系统目录的另一种
表示形式而已。我们可以通过输入“echo %userprofile%”来看看它代表的是系统中的那个目录。那么其它的也是一样
*.tmp的意思是,这个*号是一个通配符号,它表示的是所有以.tmp为扩展名的文件。大家都明白了吗?
>nul 2>nul的意思是将命令执行时的信息或者错误全部给屏蔽掉。
会显示如下图所示的样式:
DOS补充:Del命令
删除文件
例:
del d:\hongke.txt
删除d:\hongke.txt
del命令有几个重要的参数:
/P 删除每一个文件之前提示确认。
/F 强制删除只读文件。
/S 从所有子目录删除指定文件。
/Q 安静模式。删除全局通配符时,不要求确认。
例:
如果你要删除c盘下所有的hongke.txt,且文件hongke.txt是只读的,该怎么办呢?
del /f /s c:\hongke.txt
注意,因为要搜索整个c盘,所以可能需要等待一段时间。