首页 > 解决方案 > 如何提取路径变量中包含特定单词的元素

问题描述

我想提出一个命令来搜索我的路径变量并输出包含搜索关键字的文件夹。例如:我想输出路径变量中包含的所有路径,其中包含单词“python”(不区分大小写)。

我的路径如下所示:

C:\Program Files\ConEmu\ConEmu\Scripts;C:\Program Files\ConEmu;C:\Program Files\ConEmu\ConEmu;C:\Program Files\AdoptOpenJDK\jre-11.0.4.11-hotspot\bin;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;C:\Program Files\Microsoft VS Code\bin;C:\Program Files(x86)\PDFtk\bin\;C:\Program Files\ffmpeg\bin;C:\Program Files\ffmpeg\avconv\bin;C:\Program Files\ffmpeg\curl\bin;C:\Program Files\nodejs\;C:\Program Files\Git\cmd;C:\Program Files(x86)\Gpg4win\..\GnuPG\bin;C;C:\Users\jc\AppData\Local\Programs\Python\Python38-32\Scripts\;C:\Users\jc\AppData\Local\Programs\Python\Python38-32\;C:\Users\jc\AppData\Roaming\npm;C:\Program Files\OpenSSH;C:\Users\jc\.ssh;C:\Program Files(x86)\Nmap;C:/Users/jc/AppData/Local/Programs/Python/Python38-32/python.exe;

预期结果将是:

C:\Users\jc\AppData\Local\Programs\Python\Python38-32\Scripts\;C:\Users\jc\AppData\Local\Programs\Python\Python38-32\;C:/Users/jc/AppData/Local/Programs/Python/Python38-32/python.exe;

到目前为止,我有一个选择每条路径的正则表达式公式(请参见此处的示例)。我拥有的正则表达式是:

C.*?;\gmi

如果我尝试 path | findstr "C.*?;"

什么都没有出现(它不应该输出与该正则表达式匹配的所有行吗?)。另外,我将如何输出包含预期搜索关键字的路径?谢谢

标签: cmdpath

解决方案


这将做必要的:

for %A IN ("%PATH:;=" "%") DO @ECHO=%~A | FINd /I "Python"

推荐阅读