在 CMD 中,提取某个字符后的子字符串(如果存在),否则返回整个字符串

在 CMD 中,提取某个字符后的子字符串(如果存在),否则返回整个字符串

我正在尝试找到最简单的方法,在 CMD 中,在字符串中提取/或(以最后出现的为准)(如果找到的话)。\

例如:

输入

apiserver_sdk

预期的

apiserver_sdk

或者

输入

D:/dev/some/folder/GO/projectName

预期的

projectName

我对实际编程语言中的 substr、substring 非常熟悉,但对 CMD 等 shell 语言中的 substr、substring 不太确定。

答案1

这是一个可行的方法:

  echo %string% | findstr " / \ " >nul && for %%A in (%string%) do set string=%%~nA

before: apiserver_sdk  
after:  apiserver_sdk  

before: D:/dev/some/folder/GO/projectName
after:  projectName

before: c:\one\two three\four five
after:  five

before: "c:\one\two three\four five"
after:  four five

相关内容