• 【批处理学习笔记】第二课:简单批处理命令(1)


    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 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的意思是将命令执行时的信息或者错误全部给屏蔽掉。

    会显示如下图所示的样式:


    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盘,所以可能需要等待一段时间。

  • 相关阅读:
    (转)音频降噪算法 附完整C代码
    (转)移动直播技术秒开优化经验(含PPT)
    React实现简单的SearchBox搜索框组件
    为ARM安卓设备交叉编译C/C++语言程序
    Ubuntu无法用快捷键或图标打开终端
    Java基础系列-SPI你认识吗
    Java基础系列-时间日期API
    Java基础系列-RandomAccess
    Java基础系列-Optional
    那些字段适不适合建索引?
  • 原文地址:https://www.cnblogs.com/ECJTUACM-873284962/p/7545742.html
Copyright © 2020-2023  润新知