位置: 编程技术 - 正文

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脚本怎么运行)

  • 企业进入
  • 什么是库存现金的盘亏
  • 为什么盈利要利润亏损要扣除所得税
  • 员工买东西自己垫付的钱怎么做账
  • 上季度忘记申报个税了
  • 民间非营利组织会计制度最新版
  • 电脑怎么写记事本
  • 未开票收入已缴税额怎么入账
  • 机票报销需要什么单据
  • 未分配利润如何使用投入生产
  • 代国外佣金代扣税金账务怎么处理?
  • 小企业核算其它货币资金包括哪些?
  • 视同销售存货账务处理方法是什么?
  • 企业所得税费用税率
  • 一次性离职补偿个税
  • 私对公转账需要开发票吗
  • 附加税水利行政事业是否取消?
  • 装卸费怎么开票
  • 资本溢价公积金计算公式
  • 开票3个点13个点是什么意思
  • 房地产企业预付账款为负数
  • 增值税暂行条例属于
  • 利润表的上期金额和本期金额之间的关系
  • 多交的公积金怎么退回来
  • 固定资产账面价值在什么情况下会出现负值
  • 收到投标保证金利息会计分录
  • 房产税的征收范围为
  • win7系统中回收站的内容清空后还能恢复吗
  • win10右键个性化打不开 没有与之关联程序
  • 装饰装修工程月薪多少
  • 系统托盘图标禁用
  • 递延所得税资产是什么意思
  • 计提个体户经营所得税
  • 电汇款项会计分录
  • 售后租回怎么理解
  • 二手房转让中转什么意思
  • 外商投资企业采用交易发生日的即期汇率
  • webpack--》webpack底层深入讲解,从初识到精通,真正实现从0到1的过程
  • php 进程间通信
  • 电子发票重开之前的是不是就没用了
  • 保姆级教程什么意思
  • php执行系统命令函数
  • 固定资产处置的三种方式
  • 残疾人就业保障金怎么申报
  • 前年度多交附加税怎么交
  • 国际货运操作流程图
  • 物流货物丢失赔偿按照运费10倍
  • 所有者投入的资本属于什么会计要素
  • 收到天使投资账务处理
  • 收到去年的普通发票
  • 利息收入如何开票
  • 卖二手车怎么做账务处理
  • 企业清算处置固定资产
  • 未开票收入怎么做账
  • 损益明细表计提企业所得税
  • 航天信息发票全额抵扣
  • 工业会计建账做账流程
  • 查看mysql执行sql日志内容
  • windows优化软件哪个好
  • linux ./执行
  • linux mount -o remount
  • windefault.exe - windefault是什么进程
  • winproj.exe - winproj进程是什么意思
  • 关闭gui引导有什么用
  • 在Linux系统中如何打开R语言控制台
  • notify.exe - notify是什么进程 有什么用
  • w10系统怎么压缩
  • ssh直接输入密码 linux
  • win10开始菜单样式
  • python scrapy爬虫
  • jQuery的Ajax用户认证和注册技术实例教程(附demo源码)
  • android 按键
  • javascript 进阶篇3 Ajax 、JSON、 Prototype介绍
  • 使用JQuery选择HTML遍历函数的方法
  • js == ===区别
  • jquery ztree选中节点颜色
  • 消费税增值税的区别与联系
  • 如何找回电子税务局企业密码
  • 中欧班列补贴政策
  • 江苏个体户年报怎么填
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设