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 相关文章推荐
Ubuntu 16.04 LTS中源码安装Python 3.6.0的方法教程
Dec 27 Python
python+mongodb数据抓取详细介绍
Oct 25 Python
mac 安装python网络请求包requests方法
Jun 13 Python
Python实现的远程登录windows系统功能示例
Jun 21 Python
Python动态生成多维数组的方法示例
Aug 09 Python
python获取Pandas列名的几种方法
Aug 07 Python
Python利用PyExecJS库执行JS函数的案例分析
Dec 18 Python
python 输出列表元素实例(以空格/逗号为分隔符)
Dec 25 Python
使用PyTorch训练一个图像分类器实例
Jan 08 Python
基于Tensorflow读取MNIST数据集时网络超时的解决方式
Jun 22 Python
Python自动登录QQ的实现示例
Aug 28 Python
Python字典的基础操作
Nov 01 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
全国FM电台频率大全 - 11 浙江省
2020/03/11 无线电
全国FM电台频率大全 - 26 西藏自治区
2020/03/11 无线电
PHP 防恶意刷新实现代码
2010/05/16 PHP
php二分查找二种实现示例
2014/03/12 PHP
php 模拟 asp.net webFrom 按钮提交事件实例
2014/10/13 PHP
php判断对象是派生自哪个类的方法
2015/06/20 PHP
Smarty使用自定义资源的方法
2015/08/08 PHP
PHP统计目录中文件以及目录中目录大小的方法
2016/01/09 PHP
JS中彻底删除JSON对象组成的数组中的元素
2020/09/22 PHP
javascript 网页跳转的方法
2008/12/24 Javascript
php图像生成函数之间的区别分析
2012/12/06 Javascript
探讨在JQuery和Js中,如何让ajax执行完后再继续往下执行
2013/07/09 Javascript
jQuery+easyui中的combobox实现下拉框特效
2015/02/27 Javascript
12种JavaScript常用的MVC框架比较分析
2015/11/16 Javascript
利用JQuery写一个简单的异步分页插件
2016/03/07 Javascript
利用jQuery.Validate异步验证用户名是否存在(推荐)
2016/12/09 Javascript
jQuery EasyUi 验证功能实例解析
2017/01/06 Javascript
微信小程序 转发功能的实现
2017/08/04 Javascript
使用node打造自己的命令行工具方法教程
2018/03/26 Javascript
Vue全局分页组件的实现代码
2018/08/10 Javascript
微信公众号H5支付接口调用方法
2019/01/10 Javascript
react高阶组件添加和删除props
2019/04/26 Javascript
vue Element左侧无限级菜单实现
2020/06/10 Javascript
vue+axios 拦截器实现统一token的案例
2020/09/11 Javascript
[00:43]DOTA2小紫本全民票选福利PA至宝全方位展示
2014/11/25 DOTA
在Python的Django框架中获取单个对象数据的简单方法
2015/07/17 Python
Python实现获取nginx服务器ip及流量统计信息功能示例
2018/05/18 Python
python matplotlib饼状图参数及用法解析
2019/11/04 Python
python将dict中的unicode打印成中文实例
2020/05/11 Python
Pycharm的Available Packages为空的解决方法
2020/09/18 Python
web字体加载方案优化小结
2019/11/29 HTML / CSS
真正的英国宝藏:Mappin & Webb
2019/05/05 全球购物
物业保安岗位职责
2014/07/02 职场文书
培训班开班主持词
2015/07/02 职场文书
go结构体嵌套的切片数组操作
2021/04/28 Golang
MySQL定时备份数据库(全库备份)的实现
2021/09/25 MySQL