首页 > 解决方案 > 提取字符串中的子字符串

问题描述

给定以下字符串:

[0.020s][info][class,load] opened: C:\Program Files\Java\jdk-9.0.1\lib\modules

如何编写 Windows 批处理文件.bat或命令脚本.cmd来仅提取C:\Program Files\Java\jdk-9.0.1字符串的一部分?         (使用它的位置并不令人满意)

标签: stringwindowsbatch-file

解决方案


从您的问题中不清楚字符串来自哪里,或者它是否已经针对您用于该字符串的特定输出进行了过滤。

以下假设您正在寻找到 的父目录的路径lib

@Echo Off
Set "String=[0.020s][info][class,load] opened: C:\Program Files\Java\jdk-9.0.1\lib\modules"
For /F "Tokens=2*" %%A In ('"Echo %String:\lib\=&:%"') Do Set "var=%%~B"
Echo [%var%]
Pause

样本输出:

[C:\Program Files\Java\jdk-9.0.1]

推荐阅读