位置: 编程技术 - 正文

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

  • 增值税计入成本吗?
  • 税金及附加怎么来的
  • 什么叫风险纳税人员
  • 企业销售折扣折让会计分录
  • 有形动产租赁属于应税劳务还是应税货物
  • 个税申报人员多怎么申报
  • 法人私户转公户怎么操作
  • 小规模纳税人开票税率
  • 企业注销企业所得税年报怎么申报
  • 融资性售后回租是什么服务
  • 核定征收企业如何纳税
  • 购买的二手车可以抵扣进项税额吗
  • 收到去年的成本发票
  • 航天金税服务费诈骗
  • 质保期内质量问题
  • 非营利性代收代付费用会计处理怎么做?
  • 违反劳动合同的责任
  • 政府扶持资金是什么意思
  • 子公司可否将母公司注销
  • 工程发票备注怎么写
  • 电话费开专票可抵扣吗
  • 增值税发票当期能抵扣吗
  • 一般纳税人施工费税率是多少
  • 购买材料物资入账需哪些原始凭证?
  • 个人所得税专项扣除子女教育标准
  • 一次性支付一年租金怎么做账
  • php url编码转换
  • 企业佣金支出可以抵税吗
  • php完整教程
  • 预支员工报销费用会计科目
  • 回迁安置房是否有产权
  • php正则表达式匹配字符串
  • ChatGPT可以做什么
  • php知识点汇总与解答
  • 一次开票分期确认怎么弄
  • tailf命令 查看100行
  • html常用标签有哪些
  • 税控开票清单
  • 工资可以当月计提当月发放怎么做账
  • 织梦使用教程
  • phpcms建站流程
  • mysql死锁的处理方法
  • 定期定额个体经营所得税申报错了怎么办
  • 私募基金怎么运作
  • 残疾人就业相关论文题目
  • 企业季度预缴所得税怎么算
  • 母子公司之间无偿划转固定资产
  • 因管理不善材料被盗应记啥科目
  • 电力安装工程合同税率能开13%
  • 企业收到政府补助金80 000元,存入银行
  • 营业成本年末怎么结转
  • 应交增值税一转出未交增值税
  • 食堂如何做账
  • 教你设置陌陌耳返
  • Vista和Server08 SP2 RTM-Escrow发放给测试者
  • macbookair网页视频看不了
  • win8开机启动项怎么关闭
  • avc用什么打开
  • linux的awk命令大全
  • 怎么删除隐藏文件夹win 10
  • 如何进入xp系统
  • 如何在linux中安装软件
  • win10开始菜单磁贴颜色
  • windows10总是提醒更新
  • win7系统无法删除打印机驱动
  • opengl纹理贴图步骤
  • ecmascript6入门
  • 如何正确使用零钱
  • 断开网络联结的手机
  • python多线程操作
  • js如何修改style
  • python class
  • JavaScript中的变量名不区分大小写
  • javascript密码框
  • 厂房转让的土地税怎么算
  • 一般纳税人公司注销流程
  • 北京 国税局
  • 企业销售旧货增值税税率
  • 国家重大水利工程建设基金征收标准
  • 税务总局2013年65号公告
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设