怎么用bat截取指定字符串中间的字符串?

 我来答
匿名用户
2018-08-25
展开全部
1 如果是取最左的特定字符(串)之后的部分可用
set "MyVarB=%MyVarA:*.=%"
意思是变量MyVarA第一个.及之前部分替换为空
则MyVarB取得last.stand
当然继续以此方法总是可以取到最后部分
:get
if not "%MyVarB:.=%"=="%MyVarB%" set MyVarB=%MyVarB:*.=%&goto :get
2 对于取最后一个点后的部分,可以把它想象成一个带后缀的文件名
for %%i in ("%MyVarA%") do set "Vq=%%~xi"
set "MyVarB=%Vq:.=%"
注: set 命令后的引号不是必要的%%~xi 表示取后缀名 for命令中的双%%符如在命令行需改为单%
因后缀名是带.的,再把点替换为空(或去掉第一字符set "MyVarB=%Vq:~1%")
3 for命令是循环命令语法比较复杂比如还可以:
for %%i in ("%MyVarA:.=","%") do set "MyVarB=%%~i"
将原串每个.换成"," 且首尾都加上引号,这样形成 "the","last","stand"的字符串
会以逗号为分隔符,循环执行do后的赋值命令,虽然执行了3次但最后一次是最终的赋值情况
还可有其它方法,建议先把如set这样的简单命令熟悉了再去研究for这样的复杂命令
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式