Win批处理脚本:从字符串中提取子字符串

时间:2017-04-17 05:12:53

标签: windows batch-file

我想根据分隔符/从字符串中提取子字符串。子字符串提取必须是饥饿的,所以我想从字符串中获取所有字符到最后/。例如:

字符串:/ab/bcd/casd/adsd/se/23

子字符串:/ab/bcd/casd/adsd/se/

P.S。:我已经看过其他QnAs并且它们没有回答应该使用最后一个分隔符出现的特定部分来提取子字符串。

1 个答案:

答案 0 :(得分:2)

@ECHO OFF
SETLOCAL
SET "String=/ab/bcd/casd/adsd/se/23"
FOR /f "delims=" %%a IN ("%string%") DO SET substring=%%~pa
SET "substring=%substring:\=/%"
echo %substring%

GOTO :EOF

你的细节有点短。假设所涉及的字符串不包含\,这可能对您有用。将字符串视为文件名,删除“name + extension”,然后将/转换为\转换。