怎么用bat截取指定字符串中间的字符串
发布时间:2025-05-17 11:53:03 发布人:远客网络
一、怎么用bat截取指定字符串中间的字符串
1、1如果是取最左的特定字符(串)之后的部分可用
2、意思是变量MyVarA第一个.及之前部分替换为空
3、当然继续以此方法总是可以取到最后部分
4、if not"%MyVarB:.=%"=="%MyVarB%" set MyVarB=%MyVarB:*.=%&goto:get
5、2对于取最后一个点后的部分,可以把它想象成一个带后缀的文件名
6、for%%i in("%MyVarA%") do set"Vq=%%~xi"
7、注: set命令后的引号不是必要的%%~xi表示取后缀名 for命令中的双%%符如在命令行需改为单%
8、因后缀名是带.的,再把点替换为空(或去掉第一字符set"MyVarB=%Vq:~1%")
9、3 for命令是循环命令语法比较复杂比如还可以:
10、for%%i in("%MyVarA:.=","%") do set"MyVarB=%%~i"
11、将原串每个.换成","且首尾都加上引号,这样形成"the","last","stand"的字符串
12、会以逗号为分隔符,循环执行do后的赋值命令,虽然执行了3次但最后一次是最终的赋值情况
13、还可有其它方法,建议先把如set这样的简单命令熟悉了再去研究for这样的复杂命令
二、bat批处理 变量字符串赋值、设置、拼接、截取
1、BAT批处理中,变量操作是编写脚本的关键部分。我们可以通过不同的注释形式和变量操作来实现字符串的赋值、设置、拼接和截取。这里,我们以一个实际场景为例,假设需要创建一个脚本来处理命令行参数:接收发送者(sender)、接收者(receiver)和信息内容(message),并输出这些信息。
2、首先,我们设置变量。使用`set`命令,可以为变量赋值,如`set Sender=%1`接收第一个参数作为发送者。拼接字符串可以通过`set`命令和`&`操作符,例如`set Receiver=%2,%3`将第二个和第三个参数连接起来,中间用逗号分隔。
3、截取信息内容可能需要借助一些字符串函数。假设`%4`已经存储了完整的消息,如果需要提取特定部分,可以使用如`set RealContent=%4:~0,-1%`,这里的`:~`是截取字符串的语法,`-1`表示从字符串末尾开始数,取到倒数第二个字符,从而去掉最后的引号。
4、最后,将处理后的变量值输出,例如`echo Sender=%Sender%,%Receiver%———————————/ Content=%RealContent%`,这样,当运行`test_set.bat tom jerry xiaoming"I miss you"`命令时,就会得到预期的结果。
5、了解了这些,你就可以在自己的BAT脚本中灵活运用这些技巧,提高脚本的效率和可读性。按任意键继续探索更多批处理操作。