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 相关文章推荐
Python下使用Psyco模块优化运行速度
Apr 05 Python
Django 前后台的数据传递的方法
Aug 08 Python
python实现xlsx文件分析详解
Jan 02 Python
Python中生成器和迭代器的区别详解
Feb 10 Python
Python中正反斜杠(‘/’和‘\’)的意义与用法
Aug 12 Python
python实现的爬取电影下载链接功能示例
Aug 26 Python
Python partial函数原理及用法解析
Dec 11 Python
python opencv根据颜色进行目标检测的方法示例
Jan 15 Python
python读取csv文件指定行的2种方法详解
Feb 13 Python
浅谈ROC曲线的最佳阈值如何选取
Feb 28 Python
Python3 如何开启自带http服务
May 18 Python
Python将CSV文件转化为HTML文件的操作方法
Jun 30 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常用函数的使用汇总
2013/06/08 PHP
PHP中include与require使用方法区别详解
2013/10/19 PHP
PHP对象相互引用的内存溢出实例分析
2014/08/28 PHP
php表单加入Token防止重复提交的方法分析
2016/10/10 PHP
浅谈JavaScript编程语言的编码规范
2011/10/21 Javascript
修改jQuery Validation里默认的验证方法
2012/02/14 Javascript
JS实现悬浮移动窗口(悬浮广告)的特效
2013/03/12 Javascript
jQuery操作Select的Option上下移动及移除添加等等
2013/11/18 Javascript
无刷新预览所选择的图片示例代码
2014/04/02 Javascript
javascript模拟实现ajax加载框实例
2014/10/15 Javascript
node.js中的http.response.write方法使用说明
2014/12/14 Javascript
JavaScript脚本判断蜘蛛来源的方法
2015/09/22 Javascript
dedecms页面如何获取会员状态的实例代码
2016/03/15 Javascript
用JS实现图片轮播效果代码(一)
2016/06/26 Javascript
利用JavaScript阻止表单提交的两种方法
2016/08/11 Javascript
jquery实现tab选项卡切换效果(悬停、下方横线动画位移)
2017/05/05 jQuery
Vue.js上下滚动加载组件的实例代码
2017/07/17 Javascript
原生javascript实现的全屏滚动功能示例
2017/09/19 Javascript
vue.js使用v-pre与v-html输出HTML操作示例
2018/07/07 Javascript
Vue中错误图片的处理的实现代码
2019/11/07 Javascript
javascript实现倒计时提示框
2021/03/02 Javascript
[05:06]TI4西雅图DOTA2前线报道 海涛密探LGD训练
2014/07/09 DOTA
[58:12]Ti4第二日主赛事败者组 LGD vs iG 3
2014/07/21 DOTA
python生成二维码的实例详解
2017/10/29 Python
python实现数独游戏 java简单实现数独游戏
2018/03/30 Python
python3.4控制用户输入与输出的方法
2018/10/17 Python
python SVD压缩图像的实现代码
2019/11/05 Python
Tensorflow之梯度裁剪的实现示例
2020/03/08 Python
Python pexpect模块及shell脚本except原理解析
2020/08/03 Python
计算机大学生的自我评价
2013/10/15 职场文书
组织关系转移介绍信
2014/01/16 职场文书
装修设计师求职信
2014/02/26 职场文书
工资收入证明
2014/10/07 职场文书
小学语文教师年度考核个人总结
2015/02/05 职场文书
银行客户经理岗位职责
2015/04/09 职场文书
SpringDataJPA实体类关系映射配置方式
2021/12/06 Java/Android