我正在获取启动应用程序的列表,并且希望仅获取在启动时运行的应用程序的路径。启动应用程序的列表还包含传递给应用程序的参数,这些参数的格式不同;实例是从字符串中查找文件的路径
C:\程序文件(x86)\互联网下载管理\ IDMan.exe/ONBOOT
“C:\ Program Files文件\过程哈克2 \ ProcessHacker.exe” -hide
“C:\ Program Files \ CCleaner \ CCleaner64.exe”/ MONITOR
“C:\ Program Files(x86)\ Google \ Chrome \ Application \ chrome.exe”--no-startup-window/prefetch: 5
“C:\ Program Files(x86)\ GlassWire \ glasswire.exe “-hide
C:\ Program Files文件\ IDT \ WDM \ sttray64.exe
我想使用正则表达式如下
Regex.Matches(input, "([a-zA-Z]*:[\\[a-zA-Z0-9 .]*]*)");
请指导我怎么可以只提取应用程序路径忽略所有参数和其他启动命令。
为什么不使用字符串操作?例如,用“/”分隔,先取出然后再用“ - ”分开,然后取第一个...所有参数都有标记。 – Emad
@Emad有可能会遗漏一些拆分器,这可能会导致问题 – WiXXeY
由于在Windows中大多数或所有的可执行文件都具有“.exe”扩展名,因此您可以尝试查找“.exe”(.exe和一个额外的空格)以及然后提取离开参数的路径。 – sameerkn