位置: 编程技术 - 正文

BAT批处理中的字符串处理详解(字符串截取)(bat批量处理)

编辑:rootadmin

推荐整理分享BAT批处理中的字符串处理详解(字符串截取)(bat批量处理),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:bat 批处理,bat 批处理,batch批处理,batch批处理,bat 批处理文件,bat批处理命令教程,bat批处理文件的语句,bat 批处理,内容如对您有帮助,希望把文章链接给更多的朋友!

下面对这些功能一一进行讲解。

  1、截取字符串

  截取字符串可以说是字符串处理功能中最常用的一个子功能了,能够实现截取字符串中的特定位置的一个或多个字符。举例说明其基本功能:

  当然,上面的例子只是将字符串处理的基本功能展示出来了,还看不出字符串处理具体有什么用处。下面这个例子是对时间进行处理。

2、替换字符串  替换字符串,即将某一字符串中的特定字符或字符串替换为给定的字符串。举例说明其功能:

  对于上面的例子有一点说明,对比两个echo aa = %aa%可以发现,如果要修改变量aa的内容的话,就需要将修改结果“%aa:中国=中华人民共和国%”赋值给变量aa。上面的字符串截取也有着同样的特点。

3、字符串合并

  其实,合并字符串就是将两个字符串放在一起就可以了。举例说明:

  同样,如果要改变变量aa的内容的话,就需要将合并结果“%aa%%bb%”赋值给变量aa。

4、扩充字符串

  “扩充”这个词汇来自于微软自己的翻译,意思就是对表示文件路径的字符串进行特殊的处理,具体功能罗列如下:  =========================================  ~I - 删除任何引号("),扩充 %I  %~fI - 将 %I 扩充到一个完全合格的路径名  %~dI - 仅将 %I 扩充到一个驱动器号  %~pI - 仅将 %I 扩充到一个路径  %~nI - 仅将 %I 扩充到一个文件名  %~xI - 仅将 %I 扩充到一个文件扩展名  %~sI - 扩充的路径只含有短名  %~aI - 将 %I 扩充到文件的文件属性  %~tI - 将 %I 扩充到文件的日期/时间  %~zI - 将 %I 扩充到文件的大小  %~$PATH:I - 查找列在路径环境变量的目录,并将 %I 扩充  到找到的第一个完全合格的名称。如果环境变量名  未被定义,或者没有找到文件,此组合键会扩充到  空字符串  可以组合修饰符来得到多重结果:  %~dpI - 仅将 %I 扩充到一个驱动器号和路径  %~nxI - 仅将 %I 扩充到一个文件名和扩展名  %~fsI - 仅将 %I 扩充到一个带有短名的完整路径名  %~dp$PATH:i - 查找列在路径环境变量的目录,并将 %I 扩充  到找到的第一个驱动器号和路径。  %~ftzaI - 将 %I 扩充到类似输出线路的 DIR  =========================================  以上内容引用于for /&#;帮助信息。其中的I代表变量I,不过需要说明的是,不是所有的变量都能够进行扩充的,有两个条件:1、该字符串代表一个文件路径;2、变量要用%x来表示,x可取a-z A-Z 0-9共个字符中的任意一个。举例说明:

  其中的%0是批处理里面的参数,代表当前运行的批处理的完全路径。类似的还有%1-%9,分别代表传递来的第1-9个参数。例子如下:

  其中,变量aa在之前是不可以扩充的,通过call命令并将aa作为参数传递给子函数:deal,将aa变量转换成了变量%1,即符合%x格式,从而可以进行字符串扩充。  至于%x中x取a-z A-Z的形式,可以复习一下for语句,for语句里面的变量就是用%x来表示的,因而可以直接进行扩充。

下面是其它网友的补充:注意是与c语言做了一些对比

首先说一下,批处理和高级语言不同,没有字符串处理函数,比如strcat之类的,但是却可以利用环境变量来实现这些函数的功能。本文对照C语言中的字符串处理函数,讲解在批处理中的实现方法。

首先说一下字符串的存储,在C语言中,采用字符数组或者字符指针来存储字符串,而BAT中没有这些东东,所以要依靠环境变量来存储。设置环境变量的语句为set语句,本文不详细介绍了,参考set /&#;语句。

1、C语中的strcpy函数,将一个字符串复制到另一个字符型指针或字符数组,覆盖原来的字符串。

C语言中的调用方法:strcpy(目标字符串,源字符串)

在批处理中的实现方法:

BAT批处理中的字符串处理详解(字符串截取)(bat批量处理)

set 目标字符串=%源字符串%

示例:

2、C语中的strcat函数,将一个字符串连接到另一个字符型指针或字符数组的末尾。

C语言中的调用方法:strcat(目标字符串,源字符串)

在批处理中的实现方法:

set 目标字符串=%目标字符串%%源字符串%

示例:

3、字符串截取,C中没有这种函数,不过可以通过语句实现,不再介绍,直接说批处理的。

set 目标字符串=%源字符串:~起始值,截取长度%

注意,起始值从0开始!截取长度是可选的,如果省略逗号和截取长度,将会从起始值一直截取到字符串的结尾。

示例:

4、C语中的strlen函数,取得字符串的长度。

C语言中的调用方法:strlen(字符串)

在批处理中的实现方法是利用goto和标签,形成循环结构,不断将字符串截短1字符,并用变量记录截短的次数,直到字符串变成空串。

示例:

5、C语中的strchr函数,在一个字符串中查找一个字符的首次出现位置,找到时返回所在位置,找不到时返回0值。

批处理中的思路:不断截短字符串,并取截短后字符串中的首字符,和要求的字符比较,如果相同就利用goto语句跳出循环,输出结果,如果没有相同的字符,执行到最后就输出0值。

示例:

引用:最后出几道题,看看大家学习的怎么样!(1)如何实现C语言中strstr函数的功能?提示:strstr函数的功能是在字符串1中查找字符串2,找到时返回串2首次出现的位置,否则返回0值。与strchr区别就是,第二个参数是字符串,而不是字符了。

(2)如何用批处理构建while循环?提示:while循环一般格式为:while(表达式){循环体[break|continue;]循环体}其中,循环体为0条或多条语句,break用于跳出循环,continue用于直接判断表达式并决定是否进入下一次循环。一般执行顺序:首先判断表达式,如果成立则进入循环,循环体执行完毕后再次判断表达式的值,决定是否再次循环。

(3)如何用批处理构建do-while循环?提示:do-while循环一般格式为:do{循环体[break|continue;]循环体}while(表达式);各个语句的解释参照while循环。一般执行顺序:首先进入循环,循环体执行完毕后判断表达式的值,表达式成立则再次进入循环。

bat脚本显示本机IP地址的两种方法(内网ip) 实现代码一:通过routeprint实现@echoofffor/f"tokens=4"%%ain('routeprint^|findstr0.0.0.0.*0.0.0.0')do(setIP=%%a)echo%IP%实现代码二:@echoofffor/f"tokens="%%iin('ipconfig^|find/i"ipaddr

批处理bat设置固定IP地址和自动IP地址 在我个人的使用经验中,我有不同的工作环境,比如公司和家里,公司要求固定IP,而家里则使用自动获取IP的方式,所以我就在网上找了这段代码,并

MSG命令使用详解 最近在编写FTP上传数据的批处理时,需要用到局域网内传输数据来提示错误,突然想起忘了N久没用的命令(netsend),结果在win7下cmd运行netsend/运行失败

标签: bat批量处理

本文链接地址:https://www.jiuchutong.com/biancheng/371839.html 转载请保留说明!

上一篇:批处理中如何判断参数中含有某些字符串?(批处理中如何判断当前文件中是否存在一个子目录)

下一篇:bat脚本显示本机IP地址的两种方法(内网ip)(bat脚本怎么运行)

  • 工程类预交税金
  • 企业持股分红
  • 项目部电缆属于固定资产吗
  • 买车的报税联是什么作用
  • 个体工商户的个税税率表
  • 公司商标注册费用属于什么费用
  • 债权如何变现
  • 个人挂靠公司承接工程如何做会计处理?
  • 按计划成本发出原材料怎么算
  • 计提房屋租赁费
  • 土地租赁费含有多少税率
  • 个税税务稽查
  • 公司单独买医保
  • 机动车发票如何抵扣进项税
  • 运输发票的税率分类
  • 关于促进房地产市场健康发展的实施意见(试行)
  • 库存现金盘亏无法查明原因的分录
  • 企业业务招待费标准规定
  • 待摊费用和长期待摊费用的区别
  • 进口材料怎么做账
  • 不可抗力后果承担
  • 购买商品未入库
  • 全免增值税企业有哪些
  • 现金日记账的收为什么不根据银行和现金相互划转
  • 出口退税怎么申报个税
  • 存贷款基准利率和lpr
  • mac屏幕共享要打开什么权限
  • 怎么在bios里设置usb开关
  • 保险公司工伤保险
  • 装修费预付款会计分录
  • win10系统多任务功能的快捷键
  • cuda torch
  • 如何使用php写一个网页
  • PHP:mcrypt_cfb()的用法_Mcrypt函数
  • 房地产行业预售制度
  • 企业所得税汇算表
  • php实现和工作原理
  • framework启动
  • php 随机数
  • 资产减值损失科目性质
  • framework3.5启用
  • 用python处理图像
  • 华为od测试岗机试需要怎么准备
  • 申报表中的免税销售额是收入吗
  • 审图费谁出
  • 进项税额转出月底需要结转吗
  • mysql union or
  • 织梦自定义表单diy.php更改名字
  • 企业可以一次性现金的方式发放工资
  • 固定资产清理费用对应科目
  • 转让股权溢价账务处理会计分录
  • 小规模纳税人的增值税计入成本吗
  • 政府扶持资金怎么做账
  • 招待费用的进项发票可以抵扣吗
  • 库存商品与存货总额之比
  • 分配现金股利的顺序
  • 会计凭证中阿拉伯数字如何书写
  • mysql5.7.21安装
  • debian安装zsh
  • mac使用ios
  • windows8.1 preview
  • xp系统怎么打开启动项
  • scheduler.exe - scheduler是什么进程 有何作用
  • windows1020h2版本怎么样
  • 微软 hololive
  • centos 安装perl
  • 平板电脑截图
  • linux系统修改
  • 使用linux的电脑
  • python批量下载文件
  • android反编译smali
  • centos 设置定时任务执行指定脚本的方法
  • 安卓点赞脚本
  • 包装物押金收入含税吗
  • 怎么知道税控盘有没有注销
  • 河北省税务局对外公开电话
  • 北京朝阳税务局办税大厅
  • 中国税务网络版
  • 化妆品关税怎么算
  • 残疾人个体工商户补贴
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设