BAT 脚本学习计划(一)

批处理是什么

    1、概念
        == 批处理(Batch),也称为批处理脚本。顾名思义,批处理就是对某对象进行批量的处理。批处理文件的扩展名为 bat ;DOS批处理则是基于DOS命令的,用来自动的批量的执行DOS命令已实现特定操作的脚本
        == 批处理 = DOS命令的集合 + 流程控制逻辑 

    2、释义
        == 批处理是一种简化的脚本语言,也称作宏。它应用于DOS和Windows系统中,她是有DOS或者Windows系统内嵌的命令解释器( 通常是 COMMOAND.COM 或者 CMD.EXE )解释运行,类似 Unix中的Shell脚本。
        == 批处理文件具有 .bat 或者 .cmd 的扩展名,其最简单的例子,是逐行书写在命令行中会用到的各种命令,更复杂的情况,需要使用 If 、for 、 goto 等命令控制程序的运行过程,如同 C 、 Basic 等中高级语言一样。
        
    3、编写
        == 因为批处理文件的内容是文本格式,所以编写批处理文件并没有什么编程环境的要求,任何一个文本编辑器都可以用来编写批处理文件,像DOS下的 Edit 、WPS 、以及DOS自带的Copy命令的扩展Copy con 命令就可以编写,Windows下的记事本、写字板等。
        
    4、执行
        == 由于批处理文件其实就是一个命令的集合,所以批处理文件的工作平台是由这些命令所工作的平台来决定,这主要只的Microsoft 的DOS 和 Windows系统 
        
    5、示例
        == 编写一个输出 “ Hello World ” 批处理脚本的步骤
            - 新建一个文本文件 test.txt ,并将后缀名改成 bat ;
            - 在 test.bat 中输入一下内容并保存
                +++++++++++++++++++++++++++++++++    
                +        @echo off                                         +
                +        echo "hello world"                             +
                +        pause                                                +
                +++++++++++++++++++++++++++++++++
            - 双击 test.bat ( 或者在 cmd 命令行调用 test.bat )

    6、优点
        == 批处理是一门简单的脚本语言,虽然不能独当一面,但是若是作为工作中的辅助工具,绝对会让大家有随用碎写、称心如意的畅快感。和其他语言相比,批处理语言有其先天性的有势:
            -- 系统自带,无需另行安装;
            -- 命令少,语句简介,上手非常快;
            -- 编写出来的脚本小巧玲珑,随写随用;


批处理能干什么
    
    == 批处理文件 ( Batch File ,简称 bat文件 ) 是一种在DOS下最常用的可执行文件。
    == 具有灵活的操纵性,可适应各种复杂的计算机操作
    == 所谓的批处理,就是按照规定的顺序自动执行若干个指定的DOS命令或者程序,即      
       是把原来一个一个执行的命令汇总起来,成批的执行,而程序文件可以移植到其他电脑中运行,因此可以大大节省命令反复输出的繁琐
    == 批处理文件有一些编程的特点,可以通过扩展参数来灵活的控制程序的执行,所以在日常工作中非常实用
    
    1、DOS内置命令 
        DOS内置的 86个 系统命令的功能,也是批处理可以使用的功能
         - 运行 cmd  ,输入 help 即可看到 
    
    2、DOS调用外部命令功能 
        
    3、命令的排列组合    ( 内部命令 、 外部命令 、 if判断 、 for循环  )
    
    4、主要用途 
        == 批量执行命令
        == 系统管理 
        == 文件处理
        == 字符串处理 


批处理基本语法

    1、常用命令 
        
        == 名称: echo
        == 功能: 打开回显或者关闭请求回显功能,或显示消息。如果没有任何参数,echo 将显示当前回显设置
        == 语法: 
            -- echo [ { on | off } ] [ Message ]
            -- 示例: @echo off / echo hello world
        == 备注: 在实际应用中我们会把这条命令和重定向符号(也称为管道符号,一般用 >  >>  ^ )结合来实现输入一些命令到特定的文件中
   
        
        == 名称: rem
        == 功能: 注释命令,类似于在C语言中的/*---*/,它并不会被执行,只是起一个注释的作用,只有在编辑批处理时才会被看到,主要用于方便修改
        == 语法: 
            -- Rem [ 注释内容 ]
            -- 示例: Rem 你好 
        == 备注: :: 也有rem的功能,但 :: 和rem还是有区别的,当关闭回显时,rem和 :: 后的内容都不会显示,但是当打开回显时,rem后的内容会显示处理,然而::后的内容仍然不会显示


        
        == 名称: pause
        == 功能: 暂停命令。运行Pause命令时,将显示下面的消息: Press any key to continue...( 或: 请按任意键继续... )
        == 语法: 
            -- pause
            -- 示例: 
                    echo 请插入另一张光盘...
                    pause
    

        
        == 名称: call
        == 功能: 从一个批处理程序调用另一个批处理程序,并且不终止父批处理程序。call命令接受用作调用目标的标签。如果在脚本或批处理文件外使用Call,它将不会在命令行起作用 
        == 语法: 
            -- call [ 路径文件名 ] [ 标签 ]
            -- 参数: { Drive } [ Path ] FileName
            -- 示例:
                call c:\\test.bat

                

        == 名称: start
        == 功能: 调用外部程序,所有的DOS命令和命令行程序都可以由start命令来调用
        == 语法: 
            -- start [ 路径文件名 ] 
            -- 参数: 
                = MIN 开始时窗口最小化
                = SEPARATE 在分开的空间内开始16位Windows程序
                = HIGH 在HIGH优先级类别开始应用程序
                = REALTIME 在REALTIME优先级类别开始应用程序
                = WAIT 启动应用程序并等候它结束
                = parameters 这些为传送到命令/程序的参数
            -- 示例:
                start calc.exe    即可打开Windows的计算器
                
                
        == 名称: goto
        == 功能: 跳转命令。程序指针跳转到指定的标签,从标签后的第一条命令开始继续执行批处理程序
        == 语法: 
            -- goto label
            -- 参数: 
                label 是参数 ,字符串格式,指定所要转向的批处理程序中的行
            -- 示例:
                :1
                start
                goto 1
        == 备注: 标签的名字可以随便起,但是最好是有意义的字母,字母前加个 : 用来表示这个字母是标签,goto命令就是更具这个 : 来寻找下一步跳到那里
                
        
        
        == 名称: set
        == 功能: 显示、设置或删除变量。显示变量:set或set s  前者显示批处理当前已定义的所有变量及其值,后者表示显示所有以 s 开头的变量及值
        == 语法: 
            -- set var=value
            -- 参数: 
                var 是变量名称,字符串格式。 value是具体的值,类型是字符串或数值
            -- 示例:
                set aa=abcd  就是把 aa定义为 abcd
            -- set aa=   此句命令即可删除变量aa 若变量aa已被定义,则删除变量aa ; 若aa尚未定义,则此句命令无实际意义
        == 备注: 批处理命令中的变量是不区分类型的,不需要像C语言中的变量那样还要区分 int 、float 、char 等。比如执行 set aa=345后,变量aa的值既可以被视为数字345,也可以被视为字符串345。 set 命令具有扩展功能,如用作交互输入、字符串处理、数值计算等,属于高级命令范畴
        
        
    
    2、符号简介    
        
        == 符号: @
        == 功能: 回显屏蔽,表示不显示后面的命令
        == 示例:
            通过运行批处理文件对比 pause 和 @pause 命令
            
    
        == 符号: >  与  >> 
        == 功能: 输出信息重定向到指定的设备或文件。系统默认输出到显示器
        == 示例:
            -- echo aaa > a.txt 
                即可将本在显示器上显示的信息 aaa输出到文本 a.txt 中,屏幕上没有任何显示。如果文件 a.txt 本来已经存在,该命令将首先擦除 a.txt 中的所有信息,然后写入信息 aaa ;若 a.txt 本来就不存在,该命令即可新建一个 a.txt 文件,并写入信息 aaa
            -- echo aaa >> a.txt
                类似于 echo aaa > a.txt  区别在于:如果 a.txt 已存在, > a.txt 会擦除a.txt中的原有内容,而 >>a.txt并不擦除原有内容,仅仅在a.txt文件的末尾添加信息 aaa  ; a.txt不存在时,二者没有差别 


        == 符号: <
        == 功能: 将输入信息来源重定向为指定的设备或文件。系统默认从显示器读取输入信息
        
        
        == 符号: |
        == 功能: 管道符号,将前面命令的输出结果重定向输出到管道符号后面的命令中去,座位后面命令的输入。
        == 使用格式: command_1 | command_2
        == 示例:
            -- D:\> echo y | del /p a.txt  
               使用管道命令将答案Y输出给后面的命令,它就可以自动执行了
               
               
        == 符号:^ 
        == 功能:转义符号,将特殊符号转化为一般符号,即剥离特殊符号的特殊地位
            -- 特殊符号指: | &  >  <    
               比如 我们想要输出符号 “ > ” ,直接用命令 echo > 是不行的, 必须修改为  echo^>
               其余几个特殊符号类似需要有同样的处理。
               
        
        == 符号: &  &&  ||
        == 功能: 逻辑命令符号, 
            -- & 它的作用是用来连接n个DOS命令,并把这些命令按顺序执行,而不管是否有命令执行失败。
            -- &&  表示当前面的命令成功执行时,则执行 && 后面的命令,否则不执行 ;
            -- ||  表示当前面的命令失败时,执行 || 后面的命令,否则不执行

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值