You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Windows批处理文件中按分隔符获取字符串最后一个令牌?

Windows批处理提取字符串最后斜杠后的内容

针对你需要从remotes/origin/rc_1.1.1中提取最后一段rc_1.1.1的需求,这里提供两种实用的批处理实现方式:

方式一:针对固定前缀的快速替换

如果确定字符串前缀固定为remotes/origin/,可以直接用变量替换快速得到结果:

@echo off
set "full_branch=remotes/origin/rc_1.1.1"
:: 替换掉第一个"origin/"之前的所有内容
set "branch_name=%full_branch:*origin/=%"
echo 分支名:%branch_name%
pause

方式二:通用提取(适配任意数量斜杠)

如果字符串的斜杠数量不确定,需要通用提取最后一段内容,可以用循环迭代的方式:

@echo off
set "full_branch=remotes/origin/rc_1.1.1"
set "temp_str=%full_branch%"

:: 循环去掉所有斜杠及之前的内容,直到只剩最后一段
:extract_loop
if not "%temp_str:*/=%"=="%temp_str%" (
    set "temp_str=%temp_str:*/=%"
    goto extract_loop
)
set "branch_name=%temp_str%"

echo 分支名:%branch_name%
pause

说明

  • 第一种方式利用批处理的变量通配替换规则:%变量:*关键词=%" 表示将变量中第一个关键词及之前的所有内容替换为空。
  • 第二种方式通过循环不断移除最左侧的斜杠及前面的内容,直到字符串中没有斜杠为止,剩下的就是最后一段内容。

内容的提问来源于stack exchange,提问作者SkyWalker

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.29 05:10:10