从任意字符串中提取文件路径
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 行。
我一直在尝试列出启动时启动的程序的所有文件路径。我遇到了如下数据
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 行。