1、什么是批处理?
批处理(Batch),也称为批处理脚本。顾名思义,批处理就是对某对象进行批量的处理。 批处理是一种简化的脚本语言,它应用于DOS和Windows系统中,它是由DOS或者Windows系统内嵌的命令解释器(通常是COMMAND.COM或者CMD.EXE)解释运行。
类似于Unix中的Shell脚本。
批处理文件具有.bat或者.cmd的扩展名,其最简单的例子,是逐行书写在命令行中会用到的各种命令。
更复杂的情况,需要使用if,for,goto等命令控制程序的运行过程,如同C,Basic等高级语言一样。
如果需要实现更复杂的应用,利用外部程序是必要的,这包括系统本身提供的外部命令和第三方提供的工具或者软件。
2、echo命令
打开回显或关闭请求回显功能,或显示消息.
语法 echo [{on|off}] [message] Sample:@echo off / echo hello world 在实际应用中我们会把这条命令和重定向符号(也称为管道符号,一般用> >> ^)结合来实现输入一 些命令到特定的文件中。
@echo off //关闭回显功能 echo hello world! pause
如果不加@echo off
echo hello world!
pause
简单了解代码意思: @echo off 这一句是关闭回显,如果没有这一句的话会显示一些信息,比较碍眼。 echo 欢迎您来到华中红客安全网学习! 在屏幕上显示“欢迎您来到华中红客安全网学习!” pause 详细解释: (1)、echo off 关闭回显(即批处理中的命令语句不会显示) (2)、echo on 打开回显 (3)、符号“@”的意思是不显示它后面的命令语句,只显示命令执行的结果! 例子: echo 你好 @echo 你好 pause 说明: 第一条因为没加“@”符号,所以会显示“echo 你好”,然后在显示命令执行的结果“你好”。 第二条命令加了“@”符号,所以只显示了命令执行的结果,就是“你好”。 第三条没加“@”符号,所以会显示执行了pause命令。
删除D盘下的zh.txt文档
2、del命令
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盘,所以可能需要等待一段时间。
@echo off
echo 开始删除文件
del /p /f /s d:zh.txt
echo 删除完毕
pause
案例
@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 emp*.*" >nul 2>nul del /s /f /q "%userprofile% ecent*.*" >nul 2>nul del /s /f /q "%userprofile%cookies*.*" >nul 2>nul del /s /f /q "%userprofile%local settingshistory*.*" >nul 2>nul del /s /f /q "%windir% emp*.*" >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的意思是将命令执行时的信息或者错误全部给屏蔽掉。