初识bat脚本

什么是bat脚本

文件后缀名为.bat或者.cmd。

bat脚本,也称为批处理脚本,顾名思义, 批处理就是对某对象进行批量的处理。

通常被认为是一种简化的脚本语言, 它应用于DOS和Windows系统。类似于Unix中的Shell脚本。

目前Windows中的批处理包含两类:Windows DOS(BAT)PowerShell

  • DOS 批处理:基于Windows DOS命令的,用来自动地批量地执行DOS命令以实现特定操作的脚本。
  • PowerShell 批处理:基于强大的.NET,是一种用于 Windows 操作系统的脚本语言和命令行工具。

bat脚本的作用

批处理文件是允许MS-DOS和Windows用户创建文件以快速执行长任务的程序。

bat脚本在系统管理和日常操作中非常有用,可以提高工作效率和简化重复性任务的执行

它也可用于创建简单的安装程序或自动化脚本,方便进行系统配置和部署。

基础命令

bat中文乱码解决方式
	1.更改代码页,在首行添加@chcp 65001即可。
	2.转换脚本文件的编码方式。选择文本文件【另存为】,编码选择【ANSI】,【保存】即可。
image-20240514095028625
  1. echo:显示此命令后的字符串,如下显示hello word。

    echo hello world
    
    image-20240513083532050
  2. echo off:将echo状态设置为off表示关闭其他所有命令(不包括本身这条命令)的显示。

    echo off 
    echo 123
    echo 456
    
    image-20240513084242431
  3. @:加在其他命令行最前面,表示运行时不显示该命令行本身。

    @echo off
    echo 123
    echo 456
    
    image-20240513084818752
  4. rem:表示此命令的字符为解释行(:: 也是注释)不执行,相当于程序中的注释。

    @echo off
    rem echo 123
    ::echo 456
    echo 789
    
    image-20240513085640230
  5. pause:运行此句会暂停bat脚本的执行,在执行完命令后显示“请按任意键继续···“字样。

    @echo off
    echo 123
    echo 456
    pause
    
    image-20240513085244258
  6. set:设置变量,打印时注意给变量的前面和后面都加上 %。

    @echo off
    set a=word
    echo %a%
    pause
    
    image-20240516084210102

    注意:请不要在写等于号的前后加空格,批处理无法理解这些空格只是用户添加的格式,另外set 设置的变量仅仅在当前的命令行窗口有效,关闭后变量会被自行清除。

  7. call:调用另一个批处理文件,还可以调用指定标号后面的所有命令。

    @echo off
    echo 尝试调用cs2文件第1次。
    call cs2.bat
    echo 尝试调用cs2文件第2次。
    call G:\cs2.bat
    

    cs2文件的内容如下:

    @echo off
    echo 成功。
    
    image-20240513102854356
  8. start:启动一个单独的窗口运行指定的程序或命令。

    @echo off
    :: 打开百度
    explorer http://www.baidu.com
    :: 调用文件管理器打开D盘 
    start explorer d:\
    :: 打开命令行窗口
    start cmd
    pause
    
    image-20240902093506196
  9. input:接收用户输入的内容

    @echo off
    ::使用set进行设置变量,并使用/p参数阻塞命令,等待输入完成再进行下一行的其他命令。
    set /p var=请输入内容:
    echo 您输入的内容为 %var%  
    pause
    
    image-20240604085600876
  10. goto:跳转到指定片段。

@echo off

set /p input=请输入字母A或B:
:: 如果是A,跳转A方法
if "%input%"=="A" goto A
:: 如果是B,跳转B方法
if "%input%"=="B" goto B
echo 您没有输入字母或者输入的不是A或B
pause
exit

:: 声明A方法
:A
echo 这里是A
pause
exit

:: 声明B方法
:B
echo 这里是B
pause
exit
image-20240603160212771
  1. timeout:脚本延迟执行。

    @echo off
    :: 打印当前时间
    echo 当前时间【%time%】
    
    ::t后面的数字就是参数,参数-1~99999秒。
    ::-1表示无限期地等待按键。
    :: 进行延时10秒。
    timeout /nobreak /t 10 
    
    :: 延时后的时间
    echo 延时后的时间【%time%】o  
    pause
    
    image-20240604092514512
  2. cls:清理屏幕显示。

posted @ 2024-06-04 15:54  克峰同学  阅读(13)  评论(0编辑  收藏  举报