从任意字符串中提取文件路径

Extract filepath from arbitrary string

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

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);
}

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

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

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

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

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