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

批量脚本问题:删除字符串中最后一个反斜杠后的内容

Batch脚本获取路径最后一个反斜杠前的上级目录

方法1:利用for命令(推荐,简洁可靠)

Batch的for命令自带路径解析参数,能轻松处理这类路径提取需求:

@echo off
set "pathname=C:\User\Software\v1.1\Test\abcdefg"
:: 解析路径,%%~dpF提取驱动器+上级目录路径(末尾带反斜杠)
for %%F in ("%pathname%") do set "temp_result=%%~dpF"
:: 移除末尾的反斜杠,得到最终结果
set "result=%temp_result:~0,-1%"
echo %result%

运行后会输出:C:\User\Software\v1.1\Test,该方法兼容文件路径和文件夹路径,稳定性更高。

方法2:纯变量循环替换

如果不想依赖for的路径解析功能,可以通过循环变量替换实现:

@echo off
set "pathname=C:\User\Software\v1.1\Test\abcdefg"
set "temp=%pathname%"
set "result="
:find_last_backslash
:: 判断当前temp中是否存在反斜杠
if not "%temp:\=%"=="%temp%" (
    set "result=%temp%"
    :: 删除temp中第一个反斜杠及之前的内容
    set "temp=%temp:*\=%"
    goto find_last_backslash
)
echo %result%

原理是循环截断路径的前部,每次保留当前剩余路径到result,直到路径中无反斜杠,最终result就是目标上级目录。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.04 13:05:27