Bat 脚本(常用命令)

Bat 批处理脚本 (常用)

Bat 批处理脚本

=== Content ===

1. Rem 和 ::

Rem 为注释命令,能回显。
::  为符号注释,不能回显。

%行内注释内容%  ===== (不常用)(慎用)
注:
    回显: 
        回显,就是显示正在执行的批处理命令及执行的结果等。
    不回显:
        与上述回显,方式相反

例如:
(在cmd上运行结果如下:)
rem hello 在下面会显示空白的一行

:: hello 在下面不会显示空白的一行

2. Echo 和 @

@ 字符 始终不回显,不论你是echo on/off  状态
    @ 放在命令前即关闭回显

echo 
    (1)开/关 回显 
        echo on/off
    (2)显示当前ECHO设置状态
        echo
    (3)输出提示信息
        echo  Content
    (4)关闭DOS命令提示符
        echo off
    (5)输出空行,即相当于输入一个回车
        echo .
    (6)答复命令中的提问
        格式: ECHO 答复语|命令文件名
        例子:
            C:>ECHO Y|CHKDSK/F
            C:>ECHO Y|DEL A :*.*
    (7)建立新文件或增加文件内容
        格式:
            echo 文件内容 > 文件名 =======   在文件 中写入『文件内容』
            echo 文件内容 >> 文件名 =======   在该文件末追加『文件内容』
        例子:
            C:>ECHO @ECHO OFF>AUTOEXEC.BAT建立自动批处理文件
            C:>ECHO C:\CPAV\BOOTSAFE>>AUTOEXEC.BAT向自动批处理文件中追加内容
            C:>TYPE AUTOEXEC.BAT显示该自动批处理文件
    (8)向打印机输出打印内容 或 打印控制码
        格式: echo 打印机控制码>; PRN
                echo 打印内容>;PRN
        例子:
            下面的例子是向M-1724打印机输入打印控制码。<Alt>156是按住Alt键在小键盘键入

156,类似情况依此类推:

            C:>ECHO +156+42+116>;PRN(输入下划线命令FS*t)
            C:>ECHO [email=+155@]+155@>;PRN[/email](输入初始化命令ESC@)
            C:>ECHO.>;PRN(换行)
        
    (9)使喇叭鸣响
        C:>ECHO ^G
        “^G”是在dos窗口中用Ctrl+G或Alt+007输入,输入多个^G可以产生多声鸣响。
        使用方法是直接将其加入批处理文件 或 做成批处理文件调用
        这里“^G”属于特殊符号的使用,请看本文后面的章节
  1. Pause
    (1)暂停 press any key to continue
    Pause
    (2)自定义停止 提示语
    格式:
    echo 其他提示语 & pause > nul

  2. errorlevel
    程序运行后返回码 echo %errorlevel%
    用处: 判断命令是否执行成功
    默认值: 0(正确)
    出错 errorlevel 会设置为 1

  3. title
    更换cmd 窗口名字
    用法:
    title 新窗口名字

  4. color
    更改cmd的 前\后景颜色属性
    用法:
    color + attr

    attr 是 两位的十六进制数,第一位为前景色,第二位则为后景色

    0 = 黑色 8 = 灰色
    1 = 蓝色 9 = 淡蓝色
    2 = 绿色 A = 淡绿色
    3 = 湖蓝色 B = 淡浅绿色
    4 = 红色 C = 淡红色
    5 = 紫色 D = 淡紫色
    6 = 黄色 E = 淡黄色
    7 = 白色 F = 亮白色

    如果没有attr 参数,则返回成cmd启动时的属性

  5. mode
    配置系统设备

例子:(更改cmd窗口大小 和 颜色)
mode con cols=80 lines=20 & color f2

  1. goto 和 :
    ":"
    用来创建标签
    用法:
    ":" + 标签名
    例子:
    if {%1}=={} goto noparms
    if "%2"=="" goto noparms
    goto:
    跳转到某标签
    用法:
    goto 标签名

    例子:

    @echo off
    :start
    set /a var+=1
    echo %var%
    if %var% leq 3 goto start
    pause

    运行结果:
    1
    2
    3
    4

  2. start
    新开一个程序执行

    例:
    start explorer d: 调用图形界面打开D盘

  3. if
    用法:

    (1)IF [not] ErrorLevel number command
    (2)IF [not] string1==string2 command
    (3)IF [not] Exist  filename command

    例子:

    echo off
    IF EXIST autoexec.bat echo 文件存在!
    IF not EXIST autoexec.bat echo 文件不存在!
  4. %
    用法:
    (1)%变量名%
    引用变量名的值
    例子:
    set file=“test.txt” rem 注意:变量名file后的=号 和 值不要有空格
    (2)%0~%9
    表示的是从外部参数引用的值
    %0 就是程序本身,或者路径
    %1 第一个参数 ... %9 第9个参数

  5. < >& <& 重定向符

    @echo off
    echo 2005-05-01>temp.txt
    date <temp.txt
    del temp.txt

    这样就可以不等待输入直接修改当前日期

    >&,将一个句柄的输出写入到另一个句柄的输入中。
    <&,刚好和>&相反,从一个句柄读取输入并将其写入到另一个句柄输出中。

    常用句柄:0、1、2,未定义句柄:3—9
    1>nul 表示禁止输出正确的信息
    2>nul 表示禁止输出错误信息。
    其中的1与2都是代表某个数据流输入输出的地址(NT CMD 称之为句柄,MSDOS称之为设备)。
    句柄0:标准输入stdin,键盘输入
    句柄1:标准输出stdout,输出到命令提示符窗口(console,代码为CON)
    句柄2:标准错误stderr,输出到命令提示符窗口(console,代码为CON)
    其中的stdin可被<重定向,stdout可被>、>>重定向。
    我们已经知道读取文本中的内容可以用for命令,
    但如果只需要读取第一行用for命令就有点麻烦。简单的办法如下:

    @echo off
    set /p str=<%0
    echo %str%
    pause
  6. | 命令管道符
    格式:cmd1 | cmd2 | cmd3 |...
    说明:将第一条命令的结果作为第二条命令的参数来使用
    例如:

        dir C:\|find "txt"

上述命令解释: 查找C:  下 所有匹配的"txt"字符串

  1. ^ 转义字符
    ^相当于C语言的"/" 转义字符

  2. DOS 循环

    for 循环:
    格式:

        for %%var in (set) do Command  [command-parameters]
    
        command-parameters:
            有四个参数: /d  /l /r /f
  3. 系统变量
    用法:
    可以通过 %系统变量名% 查看当前系统变量的值

    例子:
    %HOMEPATH%
  4. 自定义变量
    (1)自定义变量
    set 变量名=值
    (2)手动输入变量的值 set /p

    @echo off
    set /p var=请输入变量的值
    echo %var%
    pause
    
    var变量名  =号右边的是提示语,不是变量的值
  5. if...else... 条件语句
    在 if...else 语句中 还有判断数字的符号:

    EQU - 等于
    NEQ - 不等于
    LSS - 小于
    LEQ - 小于或等于
    GTR - 大于或等于

    例子:

    IF EXIST filename (
        del filename
    ) ELSE (
        echo filename missing
    )
  6. random (随机数%random%)的应用技巧

例子:

          @echo off
          setlocal enabledelayedexpansion
          for /L %%i in (1 1 5) do (
          set /a randomNum=!random!%%100
          echo 随机数:!randomNum!
          )
          pause

转载于:https://www.cnblogs.com/Kernel001/p/10697929.html

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值