批处理

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的意思是将命令执行时的信息或者错误全部给屏蔽掉。
原文地址:https://www.cnblogs.com/zouhong/p/9905636.html