赞
踩
闲的无聊学习一下批处理脚本,记载一下比较基础的笔记
友情提示:过于复杂的功能还是不建议使用batch来实现,毕竟人家是批处理脚本,如有需要还是正经写程序
Bat脚本其实是基于cmd命令来实现的,cmd命令也能在bat脚本中使用,例如mkdir,rename等待
这里只记录bat的基础内容
echo | set | pause | @ | 注释 |
&和&& | if | for | goto | start |
call | timeout | 查询帮助 |
输出文本到控制台
echo "hello world"
输出变量param,通常通过set 创建变量
echo %param%
表示换行符
echo.
输出文本到txt文件中,写入方式是截断,若文件不存在会自动创建
echo "hello world" > a.txt
输出文本到txt文件中,写入方式是追加,若文件不存在会自动创建
echo "hello world" >>a.txt
启动功能“回显”
echo on
关闭功能“回显”
echo off
echo on/off通常会和@一起使用。 从本语句开始关闭回显
@echo off
显示、设置或者删除cmd控制台的环境变量
set a= “开心超人”
显示后面的文本作为提示,并将等待用户输入
set /p param = "请输入密码:"
显示以a开头的所有变量
set a
暂停,按任意键继续
表示不显示本行,但是仍执行
表示注释信息,该注释信息不会显示
rem 我是注释
也表示注释信息,实际上":"加任意符号都可以表示无信息显示,但我们通常用::来表示注释
::我是注释
&被用作命令分隔符,它允许在同一行中放置多个命令,这些命令会按照从左到右的顺序执行,当使用&时,前一个命令即使失败也不会影响后一个命令的执行
&&被使用时,只有当前命令成功后才会继续下一个命令
执行批处理程序中的条件处理
if 条件(分支1)else(分支2)
if not 条件(分支1)else (分支2)
例如
- :start
-
- set /p a=
-
- if not %a%==1 (
-
- echo 请输入1
-
- goto start
-
- ) else (
-
- echo 输入正确
-
- )
需要注意的是,在批处理脚本中,使用if语句进行判断有很多局限性,虽然批处理提供了一些简单的比较运算符(=),但是这些运算符的功能是基于字符串的,并不支持例如大于(>),小于(<),大于等于(>=),小于等于(<=)这些符号
在比较数字的时候,可以使用运算符(lss)小于,(leq)小于等于,(gtr)大于,(geq)大于等于,(equ)等于,(neq)不等于
对一组文件的每一个文件执行特定命令
下列代码来自cmd查询,大写语句是固定语句,小写的是可替换
- FOR [命令扩展] %%value IN <set> Do command [command-parameters]
- %%value 指定一个单一字母可替换参数
- <set> 指定一个或一组文件,可以使用通配符
- command 需要执行的命令
- [command-parameters]为特定命令指定参数或者命令行开关
例如
- @echo off
-
- set str=c d e f g h i j k l m n o p q r s t u v w x y z
-
- echo 当前硬盘的分区有:
-
- for %%i in (%str%) do if exist %%i: echo %%i:
-
- pause
经常编程的同学都知道,这就是跳转的意思
batch脚本中使用标签进行跳转,shell脚本也类似
- :label
- ……
- ……
- goto label
开启新线程来执行任务,原命令照常执行
调用命令,当被调用的命令执行完成,返回并继续之前的命令
延迟执行
- @echo off
-
- set a=1
-
- ::延迟五秒输出
-
- timeout 5 >nul
-
- echo %a%
-
- pause
现在都4202了,遇到不明白的问题可以多上上网,灵气复苏才需要藏秘籍
傻瓜式查询帮助流程:打开百度/谷歌/必应/文心一言/chartGPT/星火讯飞……,输入自己想要实现的功能和语言环境,点击搜索。
如果觉得人工智障不行太蠢了,可以使用高手方法:wnd+r,输入cmd回车,输入help+人工智障那里查来的的语句,比如 help set,即可享受最顶级的原始人高手翻文档体验
好好好就写那么多了,别的功能去找其他参考吧
贴一个参考
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。