这是感兴趣的文本文件的 4 行示例
EnumerateKey,explorer.exe,HKCR\\Directory\\shellex\\ContextMenuHandlers,NOMORE
CreateSec,explorer.exe,\\WINDOWS\\system32\\verclsid.exe,SUCCESS
QueryKey,AcroRd32.exe,HKCU\\Control Panel\\International,BUFOVRFLOW
QueryValue,AcroRd32.exe,HKCU\\Software\\Microsoft\\Windows\\CurrentVersion\\Policies\\Explorer\\NoRecentDocsHistory,NOTFOUND
我想通过附加 K 字段/列(例如K=3
下面)来增加行,这些字段/列包含在 $3 中找到但被解析的路径的元素\\
这是 4 行所需的输出。
EnumerateKey,explorer.exe,HKCR\\Directory\\shellex\\ContextMenuHandlers,NOMORE, Directory, shellex, ContextMenuHandlers
CreateSec,explorer.exe,\\WINDOWS\\system32\\verclsid.exe,SUCCESS, WINDOWS, system32, verclsid.exe
QueryKey,AcroRd32.exe,HKCU\\Control Panel\\International,BUFOVRFLOW, Control Panel, International,
QueryValue,AcroRd32.exe,HKCU\\Software\\Microsoft\\Windows\\CurrentVersion\\Policies\\Explorer\\NoRecentDocsHistory,NOTFOUND, Software, Microsoft, Windows
经过更多研究,这里有两个细微差别:
有些路径以 HK** 开头,有些则不是。但是,在这两种情况下,我只关心在初始\\
. 这种差异体现在第 1 行和第 2 行之间。因此,如果可能,我相信解析必须锚定在\\
而不是简单地 $3 上。(我是否正确使用了该术语?)
其次,路径的深度不同。为了保持列/字段的一致性,我愿意丢失一些信息(第 4 行)以及为短路径(第 3 行)保留空白字段以保持这一点。