BAT批处理中的字符串处理详解

本文详细介绍了Windows批处理中字符串处理的四个主要方面:截取、替换、合并和其他操作。通过实例展示了如何截取字符串的指定部分、替换特定字符、合并两个字符串以及获取批处理文件的相关信息。此外,还提供了特殊字符串处理的技巧,如去除引号等。
摘要由CSDN通过智能技术生成

参考文章:BAT批处理中的字符串处理详解(字符串截取)

1、截取字符串

  截取字符串可以说是字符串处理功能中最常用的一个子功能了,能够实现截取字符串中的特定位置的一个或多个字符。举例说明其基本功能:

@echo off

set ifo=abcdefghijklmnopqrstuvwxyz0123456789

echo 原字符串(第二行为各字符的序号):
echo %ifo%

echo 123456789012345678901234567890123456

echo 截取前5个字符:
echo %ifo:~0,5%

echo 截取最后5个字符:
echo %ifo:~-5%

echo 截取第一个到倒数第6个字符:
echo %ifo:~0,-5%

echo 从第4个字符开始,截取5个字符:
echo %ifo:~3,5%

echo 从倒数第14个字符开始,截取5个字符:
echo %ifo:~-14,5%

pause

对时间进行处理:

@echo off
echo 当前时间是:%time% 即 %time:~0,2%点%time:~3,2%分%time:~6,2%秒%time:~9,2%厘秒
pause

特殊字符串处理: 

  1. 可以使用set var=%var:~1%脱去环境变量var 串首的第一个引号,如果串首不存在引号则第一个字符被脱去;
  2. 可以使用set %var:*"=% 脱去环境变量var 串首的第一个引号,如果串首不存在引号则变量值不变;
  3. 可以使用set var=%var:~0,-1% 脱去环境变量var 串尾的最后一个引号,如果串尾不存在引号则最后一个被脱去;
  4. 可以使用set "var=%var%脱去环境变量var 串尾的最后一个引号,如果串尾不存在引号则环境变量被清空;
  5. 可以使用set var=%var:~1,-1% 脱去环境变量var 串最外侧的一对引号,如果串外侧不存在引号则外侧一对字符被脱去;
  6. 可以使用%var:*"=set "var=%脱去环境变量var 串最外侧的一对引号,如果串外侧不存在引号则出现语法错误;
  7. 可以使用set "var=%var:"=%"脱去环境变量var 串中可能出现的所有引号, 如果串外侧不出现引号则变量值不变;与1-3 不同的是,它容许字符串的匹配引号对内 出现特殊控制字符;

2、替换字符串

替换字符串,即将某一字符串中的特定字符或字符串替换为给定的字符串。

@echo off
set aa=伟大的中国!我为你自豪!
echo 替换前:%aa%
echo 替换后:%aa:中国=中华人民共和国%
echo aa = %aa%

set "aa=%aa:中国=中华人民共和国%"
echo aa = %aa%

pause

3、字符串合并

合并字符串就是将两个字符串放在一起就可以

@echo off
set aa=伟大的中国!
set bb=我为你自豪!

echo %aa%%bb%
echo aa=%aa%

echo bb=%bb%

set "aa=%aa%%bb%"
echo aa=%aa%

pause

 4、其它

@echo off
echo 正在运行的这个批处理:
echo 完全路径:%0
echo 去掉引号:%~0
echo 所在分区:%~d0
echo 所处路径:%~p0
echo 文件名:%~n0
echo 扩展名:%~x0
echo 文件属性:%~a0
echo 修改时间:%~t0
echo 文件大小:%~z0
pause

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

风情客家__

原创不易,觉得好的话给个打赏哈

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值