batch批处理脚本基础

闲的无聊学习一下批处理脚本,记载一下比较基础的笔记

友情提示:过于复杂的功能还是不建议使用batch来实现,毕竟人家是批处理脚本,如有需要还是正经写程序

Bat脚本其实是基于cmd命令来实现的,cmd命令也能在bat脚本中使用,例如mkdir,rename等待

这里只记录bat的基础内容

echosetpause@注释
&和&&ifforgotostart
calltimeout查询帮助

基础语句

echo

1、将后面跟随的内容输出

输出文本到控制台

echo "hello world"  

输出变量param,通常通过set 创建变量

echo %param% 

 表示换行符

echo. 

输出文本到txt文件中,写入方式是截断,若文件不存在会自动创建

echo "hello world" > a.txt

输出文本到txt文件中,写入方式是追加,若文件不存在会自动创建

echo "hello world" >>a.txt

2、特定功能的组合用法

启动功能“回显”

echo on 

关闭功能“回显”

echo off 

echo on/off通常会和@一起使用。 从本语句开始关闭回显

@echo off

set

显示、设置或者删除cmd控制台的环境变量

1、用作创建变量时必须初始化变量

set a= “开心超人”

显示后面的文本作为提示,并将等待用户输入

set /p param = "请输入密码:" 

2、显示变量

显示以a开头的所有变量

set a 

pause

暂停,按任意键继续

@

表示不显示本行,但是仍执行

注释

REM

表示注释信息,该注释信息不会显示

rem 我是注释

::

也表示注释信息,实际上":"加任意符号都可以表示无信息显示,但我们通常用::来表示注释

::我是注释

&和&&

&被用作命令分隔符,它允许在同一行中放置多个命令,这些命令会按照从左到右的顺序执行,当使用&时,前一个命令即使失败也不会影响后一个命令的执行

&&被使用时,只有当前命令成功后才会继续下一个命令

if

执行批处理程序中的条件处理

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)不等于

for

对一组文件的每一个文件执行特定命令

下列代码来自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

goto

经常编程的同学都知道,这就是跳转的意思

batch脚本中使用标签进行跳转,shell脚本也类似

:label
……
……
goto label

start

开启新线程来执行任务,原命令照常执行

call

调用命令,当被调用的命令执行完成,返回并继续之前的命令

timeout

延迟执行

@echo off
 
set a=1
 
::延迟五秒输出
 
timeout 5 >nul
 
echo %a%
 
pause

查询帮助

现在都4202了,遇到不明白的问题可以多上上网,灵气复苏才需要藏秘籍

傻瓜式查询帮助流程:打开百度/谷歌/必应/文心一言/chartGPT/星火讯飞……,输入自己想要实现的功能和语言环境,点击搜索。

如果觉得人工智障不行太蠢了,可以使用高手方法:wnd+r,输入cmd回车,输入help+人工智障那里查来的的语句,比如 help set,即可享受最顶级的原始人高手翻文档体验

好好好就写那么多了,别的功能去找其他参考吧

贴一个参考

https://www.cnblogs.com/jingxian666/p/16814375.html#t6

  • 35
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值