什么是 BAT 批处理脚本语言?

BAT 批处理脚本语言是 Windows 系统自带的一种脚本语言,主要用于批量处理文件、目录、注册表、系统设置等任务。使用 BAT 批处理脚本语言可以节省大量手动操作的时间和精力。

如何编写 BAT 批处理脚本?

  1. 使用记事本或其他文本编辑器打开一个新文件。
  2. 以.bat 或.cmd 为文件后缀名,例如 test.bat 或 test.cmd。
  3. 在文件中输入要执行的命令,每行一个命令。
  4. 保存文件并关闭文本编辑器。

BAT 批处理脚本语言常用基础语法

  • @echo off

    这个命令用于关闭脚本的输出。如果不加这个命令,脚本会将每个命令的输出都显示在命令行窗口中。

  • 注释

    在 BAT 批处理脚本语言中,使用 REM 关键字表示注释。注释语句不会被执行,可以用于添加注释、说明等。

    REM 这是一个注释
    rem 这是一个注释
    :: 这是一个注释
    
  • ECHO

    ECHO 命令用于在命令行窗口中输出文本。语法如下:

    ECHO [ON|OFF] [文本]
    

    例如:

    ECHO Hello World
    
  • 变量

    使用 set 命令可以定义变量,可以将一个字符串或命令的输出结果赋值给变量。语法如下:

    SET 变量名=值
    

    例如:

    set var=Hello World
    echo %var%
    
  • 条件语句

    使用 if 命令可以进行条件判断。if 命令可以判断变量值、文件存在、字符串比较等条件。语法如下:

    IF [NOT] 条件命令 (命令)
    

    例如:

    if %var%==Hello World (
    echo Var is Hello World
    ) else (
    echo Var is not Hello World
    )
    
  • 循环语句

    使用 for 命令可以进行循环操作。for 命令可以遍历文件列表、目录列表、字符串列表等。语法如下:

    FOR %%variable IN (集合) DO 命令
    

    例如:

    for %%i in (\*.txt) do (
    echo %%i
    )
    
  • go to

    用于跳转到指定标签处执行代码。它的基本语法如下:

    goto :label
    

    其中,:label 表示要跳转到的标签名称,需要在脚本中预先定义好。当 goto 命令执行时,控制权将转移到指定标签处,继续执行标签下面的代码。

    下面是一个简单的示例,演示如何使用 goto 命令实现无限循环:

    @echo off
    :start
    echo Hello, world!
    goto start
    
  • 函数

    使用 call 命令可以定义函数。函数可以将多个命令封装成一个独立的逻辑单元,方便复用和维护。

    call :func1
    goto :eof:func1
    echo Func1
    goto :eof
    
  • 文件操作

    使用 copy、move、del 等命令可以对文件进行复制、移动、删除等操作。

    copy file1.txt file2.txt
    move file1.txt dir1\
    del file1.txt
    
  • start

    start 命令可以用于打开一个新的窗口来运行指定的程序。语法如下:

    start "窗口标题" 程序名 参数
    

    其中,参数说明如下:

    • “标题”:指定新窗口的标题。
    • /d 目录:指定要运行命令或程序的目录。
    • /i:在新窗口中运行程序时,将其作为另一个进程运行。
    • /min:指定新窗口应最小化。
    • /max:指定新窗口应最大化。
    • /separate:新窗口应在其自己的进程中启动。
    • /shared:新窗口应与调用窗口共享进程。
    • /low、/normal、/high、/realtime、/abovenormal、/belownormal:指定新窗口的优先级。
    • /wait:指定启动的程序运行完成后才退出 start 命令。
    • /b:指定不等待命令或程序完成,而是立即返回。

    例如:

    start "Notepad" notepad.exe
    

    这个命令将打开一个新的窗口来运行 Notepad 程序。

  • pause

    pause 命令可以暂停脚本的执行,直到用户按下任意键。

    示例

    下面是一个简单的.bat 文件示例,用于列出当前目录下所有的.txt 文件:

    @echo offREM 设置变量
    SET file_type=txtREM 输出文本
    ECHO Searching for files of type %file_type%...REM 循环处理所有的文件
    FOR %%G IN (*.%file_type%) DO (ECHO %%G
    )pause
    

    在命令行窗口中运行这个.bat 文件,它将输出所有的.txt 文件名,并在最后暂停等待用户按下任意键。

BAT批处理基本命令相关推荐

  1. BAT批处理基本命令总结

    文章目录 BAT文件 访问网址 打开文件夹或文件 删除文件 复制文件 重命名 创建文件夹 创建文件 把hex文件的第一行之后的内容写入新文件 删除Keil编译产生的垃圾文件 提取文件名 输出文件的绝对 ...

  2. windows系统dos命令:cmd.exe运行的bat批处理命令详解

    DOS批处理 1.简单批处理命令 1.1echo:打开或关闭回显 echo off 关闭回显 ==>关闭之后不会显示一些不必要的信息. 后面所有的命令均不显示,但本条命令是显示的. @echo ...

  3. bat批处理脚本学习(一)

    一.批处理运算操作 (一)算术运算 set /a (二)重定向运算 将输出结果保存到指定文件当中 >         将结果存储至指定位置(会覆盖原有内容) >>       将结果 ...

  4. DOS循环:bat/批处理for命令详解之一 (史上虽详尽的总结和说明~~)

    DOS循环:bat/批处理for命令详解之一 (史上虽详尽的总结和说明~~) --- --- 前言: 虽然以前对批处理也算有点研究,但一直对for命令理解不够透彻,偶尔用时也是照猫画虎的用一下. 虽然 ...

  5. bat循环执行带参数_dos命令exit图文教程,结束退出CMD.EXE程序或当前bat批处理脚本...

    大家好,我是老盖,首先感谢观看本文,本篇文章做的有视频,视频讲述的比较详细,也可以看我发布的视频. 今天我们学习dos命令中的exit这个命令,退出 CMD.EXE 程序(命令解释器)或当前批处理脚本 ...

  6. BAT 批处理命令 - 解决cmd控制台中文乱码问题实例演示

    BAT 批处理命令支持的是 ANSI 编码,如果用默认的 UTF-8 编码会报错.我们只要把编码改成 ANSI 就行了. 下图是我写了一个有问题的代码.[如果还能发现其它问题可以评论区留言哦!考验一下 ...

  7. bat 批处理切换到当前脚本所在文件夹

    bat 批处理切换到当前脚本所在文件夹 切换到当前脚本所在的文件夹 ? 1 cd  %~dp0 另外附上一些bat基本内容 ------------------------------ 批处理常用命令 ...

  8. bat批处理删除指定N天前的文件

    Windows下bat批处理,自动获取文件的最后修改时间,然后将指定多少天之前的文件删除,需要Windows支持forfiles命令,XP及以上系统都自带forfiles命令. 删除指定目录下7天前的 ...

  9. atitit.加入win 系统服务 bat批处理程序服务的法总结instsrv srvany java linux

    atitit.加入win 系统服务 bat批处理程序服务的法总结instsrv srvany  java linux 系统服务不同于普通视窗系统应用程式.不可能简简单单地通过执行一个EXE就启动视窗系 ...

最新文章

  1. [转]C# WinForm 关于窗体最大化时的是否全屏效果与是否遮盖任务栏
  2. 《Nature》上给青年科研工作者的几条忠告 (转载)
  3. 用简单的例子说明提升可复用性的设计模式
  4. Spark 1.2 编译
  5. 【Pytorch神经网络理论篇】 37 常用文本处理工具:spaCy库+torchtext库
  6. js读取服务器上的txt文件,javascript – 每15秒读取一次文本文件的内容
  7. Redis工作笔记-Redis安装及基本配置
  8. Web存储—sessionStorage存储
  9. 据报道称“浏览器内核有上千万行代码”,浏览器内核真的很复杂吗?
  10. Python:assert基本用法
  11. 20172330 2017-2018-2 《程序设计与数据结构》实验一报告
  12. 推荐一个专业的正则表达试学习网站
  13. JavaWeb实现简易新闻管理系统
  14. SANYUKI:净化空气,顺便美颜?
  15. layui使用tips_layui的tips层怎么用
  16. 查看服务器网卡和网口对应关系
  17. 3月27日下午上完毛概后是一节体育课,这学期要考篮球和跳绳
  18. Failure to find xxx in 中央仓库
  19. 《第六周RFID作业》物联112118 林家辉
  20. 笔记本英雄联盟界面服务器停止运行,关于LOL选完大区(主界面)后马上闪退的正确解决方法...

热门文章

  1. 百度文库会员什么时候便宜
  2. addEventListener()事件监听
  3. Vue ElementUI el-tree 修改节点收缩 icon
  4. 数据库中索引的填充因子
  5. 新手福利:真机调试无需开发者证书
  6. java float类型是否为空_java – 如何使float类型的变量为null
  7. 计算机网络mac地址作用是什么,mac地址的作用是什么
  8. 小白也学得会!Python编程超简单方法算圆周率
  9. system pause
  10. OpenStack-M版(Mitaka)搭建基于(Centos7.2)+++十、Openstack对象存储服务(swift)中