千家信息网

批处理BAT如何实现替换与截取字符串

发表于:2026-11-03 作者:千家信息网编辑
千家信息网最后更新 2026年11月03日,这篇文章将为大家详细讲解有关批处理BAT如何实现替换与截取字符串,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。一、替换用法 例代码如下:@echo offset a
千家信息网最后更新 2026年11月03日批处理BAT如何实现替换与截取字符串

这篇文章将为大家详细讲解有关批处理BAT如何实现替换与截取字符串,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。

一、替换用法
例

代码如下:


@echo off
set a=belcome to CMD borld!
set temp=%a:b=w%
echo %temp%
pause



将显示 welcome to CMD world! 即用w替换了变量a中的b。

二、截取用法
字符串最前面的光标所在处表示第0位,第一个字符后面的光标所在表示第一位,依次类推。
为了更好的理解截取用法,下面给出了字符串superhero位数的相关示意图:
s u p e r h e r o

0 1 2 3 …… -3 -2 -1 无表示

例

代码如下:


@echo off
set a=superhero
set temp=%a:~0,5%
echo %temp%
pause



将显示super 即显示了变量a的第0位至第5位中包括的所有元素。

若如下

代码如下:


@echo off
set a=superhero
set temp=%a:~3%
echo %temp%
pause
[html]

将显示perhero 即显示了变量a的第三位以后的所有字符。



若如下

[code]
@echo off
set a=superhero
set temp=%a:~-3%
echo %temp%
pause



将显示ero 即显示了变量a的倒数三个字符。

若如下

代码如下:


@echo off
set a=superhero
set temp=%a:~0,-3%
echo %temp%
pause


将显示superh 即显示了变量a的第0位和第-3位中间包含的所有字符。

bat截取字符串实例

代码如下:


@echo off
set str=123456789
echo 第一个字符为:%str:~0,1%
echo 头两个字符为:%str:~0,2%
echo 头5个字符为:%str:~0,5%
echo 去掉最后一个字符后的字符串为:%str:~0,-1%
echo 去掉最后3个字符后的字符串为:%str:~0,-3%
echo 第4个字符为:%str:~3,1%
echo 第4个及其之后的3个字符为:%str:~3,4%
echo 最后一个字符为:%str:~-1%
echo 最后一个字符为:%str:~-1,1%
echo 最后两个字符为:%str:~-1,2%
echo 倒数第4个字符为:%str:~-4,1%
echo 倒数第4个及其之后的字符为:%str:~-4%
echo 倒数第4个及其之后的1个字符为:%str:~-4,2%
echo 倒数第4个及其之后的2个字符为:%str:~-4,3%
pause

为了说明这个问题,我在这里把批处理取字符,做下进一步的解释,希望对新手有所启发
如下:
echo %var:~n,k%
我们在这里对每个参数做个说明:"%var",即我们要从中要截取字符的字符串." ~ "取字

符标志符(我是这么理解的),"n" 我们将其理解为指针,"k"我们将其理解为偏移地址.(注

:指针和偏移地址都是从零开始数的)
我们还是用namejm版主的例子做下说明:

代码如下:


@echo off
set str=123456789
rem 定义一个str字符串为123456789
echo 第一个字符为:%str:~0,1%
rem 指针为0,偏移地址为1,即从第0位开始,取1位
echo 头两个字符为:%str:~0,2%
rem 指针为0,偏移地址为2,即从第0位开始,取2位
echo 头5个字符为:%str:~0,5%
rem 指针为0,偏移地址为5,即从第0位开始,取5位
echo 去掉最后一个字符后的字符串为:%str:~0,-1%
rem 当"k"为负值时,我们可以这样理解:从指针开始处开始取其后面所有字符,然后减去
后面"abs(k)位"..所以这个句字我们可以做如下解释:从第0位开始取其全部字符
为:123456789然后从后面减去abs(k)位,所以最后结果为:12345678
echo 去掉最后3个字符后的字符串为:%str:~0,-3%
rem 该句解释同上↑
echo 最后一个字符为:%str:~-1%
rem 参数"n,"和"k"都可以为缺省,缺省"n,"时可以理解为:从abs(k)位开始取其全部
echo 倒数第4个及其之后的字符为:%str:~-4%
rem 解释同上↑
echo 最后一个字符为:%str:~-1,1%
rem n为负值时,表示从后面开始截取字符,取k位(此时n应从1开始数)
echo 最后一个字符为:%str:~-1,2%
rem 解释同上↑
echo 倒数第4个字符为:%str:~-4,1%
rem 解释同上↑
echo 倒数第4个及其之后的1个字符为:%str:~-4,2%
rem 解释同上↑
echo 倒数第4个及其之后的2个字符为:%str:~-4,3%
rem 解释同上↑
pause

关于"批处理BAT如何实现替换与截取字符串"这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,使各位可以学到更多知识,如果觉得文章不错,请把它分享出去让更多的人看到。

字符 字符串 解释 代码 指针 变量 地址 偏移 两个 篇文章 光标 参数 所在 更多 负值 不错 实用 三个 从中 位数 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 互联网科技园 伟宏互联网科技 亿人帮互联网科技有限公司 互联网科技工作委员会 中关村互联网科技集团 互联网科技公司税收优惠 广州互联网科技公司 互联网科技论文 智慧科技互联网 北京禾田雨橡互联网科技 万达互联网科技 汉立互联网科技有限公司联系电话 广州恒生互联网科技有限 搜狐科技互联网 群盈汇互联网科技有限公司 山东星卡互联网科技有限公司官网 互联网营销推广黑科技 2021世界互联网领先科技成果发布 陕西九四连强互联网科技有限公司 第三届互联网大会安防黑科技 华服互联网科技靠谱吗 互联网是第几次科技革命的成果 居家互联网科技有限公司 安控科技rtu产品工业互联网 北京大学互联网科技怎么样 为客找房互联网科技公司怎么样 互联网风格科技公司名称 半导体行业属于互联网高科技类吗 兰石爱特工业互联网科技分公司 互联网 科技节活动 微视频大赛
0