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 StringIO模块实现在内存缓冲区中读写数据
Apr 08 Python
在Python中使用next()方法操作文件的教程
May 24 Python
Python实现返回数组中第i小元素的方法示例
Dec 04 Python
使用NumPy和pandas对CSV文件进行写操作的实例
Jun 14 Python
利用python和ffmpeg 批量将其他图片转换为.yuv格式的方法
Jan 08 Python
Django csrf 两种方法设置form的实例
Feb 03 Python
selenium2.0中常用的python函数汇总
Aug 05 Python
python各类经纬度转换的实例代码
Aug 08 Python
Django自带的加密算法及加密模块详解
Dec 03 Python
Python获取android设备cpu和内存占用情况
Nov 15 Python
python 通过 pybind11 使用Eigen加速代码的步骤
Dec 07 Python
Django框架之路由用法
Jun 10 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新手上路(十一)
2006/10/09 PHP
PHP 数字左侧自动补0
2008/03/31 PHP
PHP 面向对象 final类与final方法
2010/05/05 PHP
php使用curl出现Expect:100-continue解决方法
2015/03/03 PHP
WordPress中用于获取文章作者与分类信息的方法整理
2015/12/17 PHP
PHP实现bitmap位图排序与求交集的方法
2016/07/28 PHP
jMessageBox 基于jQuery的窗口插件
2009/12/09 Javascript
Javascript 遍历页面text控件详解
2014/01/06 Javascript
JavaScript实现Base64编码转换
2016/04/23 Javascript
Angularjs过滤器使用详解
2016/05/25 Javascript
跨域请求的完美解决方法(JSONP, CORS)
2016/06/12 Javascript
AngularJs ng-repeat 嵌套如何获取外层$index
2016/09/21 Javascript
JS闭包与延迟求值用法示例
2016/12/22 Javascript
关于vue-resource报错450的解决方案
2017/07/24 Javascript
React组件内事件传参实现tab切换的示例代码
2018/07/04 Javascript
在微信小程序中渲染HTML内容的方法示例
2018/09/28 Javascript
js简单的分页器插件代码实例
2019/09/11 Javascript
vue-cli3单页构建大型项目方案
2020/04/07 Javascript
vue+axios 拦截器实现统一token的案例
2020/09/11 Javascript
Python程序设计入门(3)数组的使用
2014/06/16 Python
Python出现segfault错误解决方法
2016/04/16 Python
numpy返回array中元素的index方法
2018/06/27 Python
在PyCharm下打包*.py程序成.exe的方法
2018/11/29 Python
django 模型中的计算字段实例
2020/05/19 Python
python 实现压缩和解压缩的示例
2020/09/22 Python
非常漂亮的CSS3百叶窗焦点图动画
2016/02/24 HTML / CSS
html5 worker 实例(一) 为什么测试不到效果
2013/06/24 HTML / CSS
Perfumetrader荷兰:香水、化妆品和护肤品在线商店
2017/09/15 全球购物
亚马逊巴西站:Amazon.com.br
2019/09/22 全球购物
Ibatis如何使用动态表名
2015/07/12 面试题
Shell编程面试题
2012/05/30 面试题
如何定义一个可复用的服务
2014/09/30 面试题
业务员岗位职责
2013/11/16 职场文书
幼儿园老师工作总结2015
2015/05/22 职场文书
山楂树之恋观后感
2015/06/11 职场文书
初中语文教学随笔
2015/08/15 职场文书