详解bat脚本:语法、常见用法、注意事项、示例
文章目录前言1.什么是BAT 脚本2.基本语法2.1 注释2.2 基本命令执行3.常用命令详解4.变量使用1. 定义变量2. 使用变量要用 % 括起来5.流程控制5.1 if 条件判断基本语法常用比较示例5.2 for 循环遍历文件注意 %%i数字循环5.3 goto 与标签6.示例示例 1自动备份文件示例 2输入名字并欢迎示例 3批量重命名文件示例 4检测文件是否存在7.小技巧 注意事项错误码与返回值errorlevel / if errorlevel ...8.总结前言最近在做环境检查和项目的构建打包时发现有些麻烦然后发现用bat脚本很方便故总结本文如有错误请评论区指出1.什么是BAT 脚本bat脚本是指在 Windows 操作系统上运行的批处理Batch脚本文件扩展名通常是.bat也可能是.cmd。它的作用是把一系列命令行指令按顺序写在一个文本文件里然后由系统的命令解释器cmd.exe一次性执行从而自动化任务。文件扩展名.bat如start.bat运行方式双击运行或在命令提示符CMD中输入脚本名运行。解释器由 Windows 的cmd.exe解释执行。特点简单、易学、适合基础自动化任务但功能不如 PowerShell 强大。2.基本语法2.1 注释使用rem或::添加注释rem 这是一个注释推荐用 rem :: 这也是一个注释更简洁2.2 基本命令执行脚本就是一行一行执行命令echo Hello World dir pauseecho输出文本也可关闭输出echo offdir列出当前目录内容pause暂停等待用户按键继续3.常用命令详解命令作用示例echo on/off显示/隐藏命令执行过程echo offecho输出文字或变量值echo 你好set varvalue定义变量set name张三set /p var提示信息读取用户输入set /p name请输入名字if条件判断if %age% gtr 18 echo 成年for循环for %%i in (*.txt) do echo %%igoto label跳转到标签goto start:label定义标签:startcall调用其他脚本call test.batexit退出脚本exitcd进入目录cd D:\MyProjectmkdir/md创建目录mkdir new_folderdel删除文件del file.txtcopy复制文件copy a.txt b.txtmove移动文件move a.txt D:\backup\start启动程序或文件start notepad.exetimeout等待一段时间timeout /t 34.变量使用1. 定义变量set nameTom set age202. 使用变量要用%括起来echo 你的名字是 %name% echo 你今年 %age% 岁注意变量名不能包含特殊符号命名尽量简洁。5.流程控制5.1 if 条件判断基本语法if 条件 命令常用比较等于字符串比较gtr大于数字lss小于geq大于等于leq小于等于neq不等于示例set age18 if %age% gtr 18 ( echo 你已成年 ) else ( echo 你还未成年 )提示使用括号做代码块时if后必须加(且else要在同一行或换行后。5.2 for 循环遍历文件注意%%ifor %%i in (*.txt) do echo 文件名%%i在 BAT 脚本中循环变量用%%i在 CMD 命令行中才用%i。数字循环for /l %%i in (1,1,5) do echo 第 %%i 次1起始值1步长5结束值5.3 goto 与标签:start echo 开始执行 set /p choice是否继续(y/n) if %choice% y goto yes goto end :yes echo 正在继续... goto end :end echo 完成 pause6.示例示例 1自动备份文件echo off echo 开始备份... xcopy D:\文档 D:\备份\文档 /s /i echo 备份完成 pause示例 2输入名字并欢迎echo off set /p name请输入你的名字 echo 欢迎你%name% pause示例 3批量重命名文件echo off for %%i in (*.jpg) do ( ren %%i photo_%%i ) echo 批量重命名完成 pause示例 4检测文件是否存在if exist config.txt ( echo 配置文件存在 ) else ( echo 配置文件不存在 )7.小技巧 注意事项添加echo off在脚本第一行隐藏命令显示让输出更整洁。变量用%变量名%不能用variable。for 循环中变量用%%i不是%i。字符串比较必须加引号if %var% yes避免空值出错。路径中含空格时用引号包裹C:\Program Files\app.exe保存时编码为 ANSI 或 UTF-8带 BOM避免乱码。错误码与返回值errorlevel / if errorlevel …做环境检查、构建打包时非常常用某个命令失败了就停止流程。command_here if errorlevel 1 echo 命令失败或command_here if %errorlevel% neq 0 exit /b %errorlevel%exit /b 常用于返回到上一级脚本。8.总结以.bat为扩展名用echo off开始整洁输出变量用%var%定义用set varvalue用if条件、for循环、goto跳转实现逻辑常用命令echo,set,copy,del,start,cd,pause,timeout适合文件批量处理、自动运行程序、简单自动化任务
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2472276.html
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!