批处理学习笔记第二课:简单批处理命令

Posted Angel_Kitty

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了批处理学习笔记第二课:简单批处理命令相关的知识,希望对你有一定的参考价值。

1、echo 命令
  打开回显或关闭请求回显功能,或显示消息。如果没有任何参数,echo [批处理与联机处理]

    批处理与联机处理
    命令将显示当前回显设置。
  语法
  echo [{on|off}] [message]
  Sample:@echo off / echo hello world
  在实际应用中我们会把这条命令和重定向符号(也称为管道符号,一般用> >> ^)结合来实现输入一
  些命令到特定的文件中。
   
2、举例:
第一步:建立批处理文件
第二步:写代码
@echo off
echo Hello World!
pause
第三步:保存

简单了解代码意思:
@echo off                                //这一句是关闭回显,如果没有这一句的话会显示一些信息,比较碍眼。
echo Hello World!       //在屏幕上显示“Hello World!”
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盘,所以可能需要等待一段时间。

以上是关于批处理学习笔记第二课:简单批处理命令的主要内容,如果未能解决你的问题,请参考以下文章

批处理学习笔记第二十三课:用户变量和变量引用

批处理学习笔记第二十一课:数值计算

第五十二课命令行参数的应用

Windows批处理 学习笔记1

Windows批处理学习笔记2

Linux Sed命令学习笔记