bat批处理之字符串操作的实现


Posted in Python onMarch 16, 2022

通常情况下,任何一种语言对于字符串的操作都是重中之重。这里稍微介绍下bat批处理中对于字符串的操作。

对于字符串的截取

set testStr=abcdefghijklmnopqrstuvwxyz0123456789
echo 原始字符串 %testStr%
echo 提取前五个字符串:%testStr:~0,5%
echo 提取最后五个字符串:%testStr:~-5%
echo 提取第一个到倒数第六个字符串:%testStr:~0,-5%
echo 提取五个字符串,从第四个字符开始:%testStr:~3,5%

字符串的替换

echo 替换之前:%repStr%
echo 替换后:%repStr:aa=zz%
echo repStr=%repStr%
set "repStr=%aa:aa=zz%"
echo repStr=%repStr%

字符串合并

set aa=aabbcc
set bb=ddeeff
echo %aa%%bb%
echo aa=%aa%
echo bb=%bb%
set "aa=%aa%%bb%"
echo aa=%aa%

字符串查找

Setlocal ENABLEDELAYEDEXPANSION
::启用命令扩展,参加setlocal /?命令
set str1=This is a test string
set ch1=t
::注意,这里是区分大小写的!
set str=%str1%
::复制字符串,用来截短,而不影响源字符串
:next
if not "%str%"=="" (
set /a num+=1
if "!str:~0,1!"=="%ch1%" goto last
::比较首字符是否为要求的字符,如果是则跳出循环
set "str=%str:~1%"
goto next
)
set /a num=0
::没有找到字符时,将num置零
:last
echo 字符'%ch1%'在字符串"%str1%"中的首次出现位置为%num%
echo 输出完毕,按任意键退出&&pause>nul&&exit

这里直接贴上对应的bat批处理代码及其运行结果

bat 批处理代码

echo off
echo 完全路径:%0
echo 去掉引号:%~0
echo 所在分区:%~d0
echo 所在路径:%~p0
echo 文件名:%~n0
echo 拓展名:%~x0
echo 文件属性:%~a0
echo 修改时间:%~t0
echo 文件大小:%~z0
echo %d0%
echo dp0 : %~dp0
echo sdp0:%~dp0
echo fo:%~f0
echo cd %cd%
rem set 目标字符串=%源字符串:~起始值,截取长度%
set testStr=abcdefghijklmnopqrstuvwxyz0123456789
echo 原始字符串 %testStr%
echo 提取前五个字符串:%testStr:~0,5%
echo 提取最后五个字符串:%testStr:~-5%
echo 提取第一个到倒数第六个字符串:%testStr:~0,-5%
echo 提取五个字符串,从第四个字符开始:%testStr:~3,5%
echo ================================================
echo ================    字符串替换       ===========
echo ================================================
set repStr=aaabbbcccdddeeefff
echo 替换之前:%repStr%
echo 替换后:%repStr:aa=zz%
echo repStr=%repStr%
set "repStr=%aa:aa=zz%"
echo repStr=%repStr%
echo ================================================
echo ================    字符串合并       ===========
echo ================================================
set aa=aabbcc
set bb=ddeeff
echo %aa%%bb%
echo aa=%aa%
echo bb=%bb%
set "aa=%aa%%bb%"
echo aa=%aa%

Setlocal ENABLEDELAYEDEXPANSION
::启用命令扩展,参加setlocal /?命令
set str1=This is a test string
set ch1=t
::注意,这里是区分大小写的!
set str=%str1%
::复制字符串,用来截短,而不影响源字符串
:next
if not "%str%"=="" (
set /a num+=1
if "!str:~0,1!"=="%ch1%" goto last
::比较首字符是否为要求的字符,如果是则跳出循环
set "str=%str:~1%"
goto next
)
set /a num=0
::没有找到字符时,将num置零
:last
echo 字符'%ch1%'在字符串"%str1%"中的首次出现位置为%num%
echo 输出完毕,按任意键退出&&pause>nul&&exit

相应的运行结果

bat批处理之字符串操作的实现

到此这篇关于bat批处理之字符串操作的实现的文章就介绍到这了,更多相关批处理字符串操作内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

Python 相关文章推荐
windows下python模拟鼠标点击和键盘输示例
Feb 28 Python
为Python程序添加图形化界面的教程
Apr 29 Python
Python中的ctime()方法使用教程
May 22 Python
Python的Django框架中if标签的相关使用
Jul 15 Python
python 多线程实现检测服务器在线情况
Nov 25 Python
python利用小波分析进行特征提取的实例
Jan 09 Python
python检测服务器端口代码实例
Aug 31 Python
Python 求数组局部最大值的实例
Nov 26 Python
python列表切片和嵌套列表取值操作详解
Feb 27 Python
利用OpenCV中对图像数据进行64F和8U转换的方式
Jun 03 Python
Python使用jpype模块调用jar包过程解析
Jul 29 Python
scrapy-redis分布式爬虫的搭建过程(理论篇)
Sep 29 Python
一起来学习Python的元组和列表
Mar 13 #Python
python自动化测试之Selenium详解
python数字类型和占位符详情
Mar 13 #Python
Python+Selenium自动化环境搭建与操作基础详解
Python+Selenium实现读取网易邮箱验证码
Mar 13 #Python
asyncio异步编程之Task对象详解
Mar 13 #Python
实例详解Python的进程,线程和协程
You might like
php顺序查找和二分查找示例
2014/03/27 PHP
详解WordPress开发中过滤属性以及Sql语句的函数使用
2015/12/25 PHP
php微信开发之自定义菜单完整流程
2016/10/08 PHP
php面向对象程序设计中self与static的区别分析
2019/05/21 PHP
getElementById在任意一款浏览器中都可以用吗的疑问回复
2007/05/13 Javascript
通过action传过来的值在option获取进行验证的方法
2013/11/14 Javascript
jquery五角星评分插件示例分享
2014/02/21 Javascript
jquery默认校验规则整理
2014/03/24 Javascript
JavaScript中的typeof操作符用法实例
2014/04/05 Javascript
json属性名为什么要双引号(个人猜测)
2014/07/31 Javascript
jQuery经过一段时间自动隐藏指定元素的方法
2015/03/17 Javascript
JS实现的网页背景闪电闪烁效果代码
2015/10/17 Javascript
通过设置CSS中的position属性来固定层的位置
2015/12/14 Javascript
javascript仿百度输入框提示自动下拉补全
2016/01/07 Javascript
jQuery实现无限往下滚动效果代码
2016/04/16 Javascript
jQuery判断元素是否显示 是否隐藏的简单实现代码
2016/05/19 Javascript
只需五句话搞定JavaScript作用域(经典)
2016/07/26 Javascript
关于js二维数组和多维数组的定义声明(详解)
2016/10/02 Javascript
Node.js下自定义错误类型详解
2016/10/17 Javascript
JS正则表达式验证密码格式的集中情况总结
2017/02/23 Javascript
vue实现验证码输入框组件
2017/12/14 Javascript
详解如何在webpack中做预渲染降低首屏空白时间
2018/08/22 Javascript
JavaScript 判断iPhone X Series机型的方法
2019/01/28 Javascript
jQuery表单选择器用法详解
2019/08/22 jQuery
JS数组方法slice()用法实例分析
2020/01/18 Javascript
django1.8使用表单上传文件的实现方法
2016/11/04 Python
Python编程给numpy矩阵添加一列方法示例
2017/12/04 Python
pyhton中__pycache__文件夹的产生与作用详解
2019/11/24 Python
python 比较字典value的最大值的几种方法
2020/04/17 Python
详解Html5 监听拦截Android返回键方法
2018/04/18 HTML / CSS
New Balance英国官方网站:始于1906年,百年慢跑品牌
2016/12/07 全球购物
.NET是怎么支持多种语言的
2015/02/24 面试题
物业管理求职自荐信
2013/09/25 职场文书
竞争性谈判邀请书
2014/02/06 职场文书
建党伟业的观后感
2015/06/01 职场文书
后天观后感
2015/06/08 职场文书