【问题标题】:Extract filepath from arbitrary string从任意字符串中提取文件路径
【发布时间】:2017-04-07 18:26:12
【问题描述】:

我一直在尝试列出启动时启动的程序的所有文件路径。我遇到了以下数据

Rundll32.exe shell32.dll, ShellExec_RunDLL C:\Users\Name\AppData\Roaming\Oracle\JavaUpdate.exe

"C:\Program Files (x86)\Steam\steam.exe" -silent

此数据来自注册表\HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Run,使用以下代码获取

foreach(var valueName in registryKey.GetValueNames()){
  bootItems.Add(registryKey.GetValue(valueName);
}

哪种解决方案可以从两者中提取路径? 我尝试使用以下正则表达式和变体,但没有任何运气。

"^\"([^\"]*)\".*$"

【问题讨论】:

  • 你试过了吗?
  • 多个不同的正则表达式,我都没有成功。
  • 显示返回这些字符串的代码

标签: c# .net registry startup boot


【解决方案1】:

如果他们只是看起来像那样,那么这个正则表达式就可以完成这项工作:

\b.:\\.+?.exe\b

它匹配后跟冒号和斜杠的任何字符,后跟任何以 .exe 结尾的文本,其中开始/结束是分词符或行的开始/结束。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2010-11-09
    • 2012-06-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-07-26
    • 2018-11-16
    • 2017-04-24
    相关资源
    最近更新 更多