假设我有一个很大的文本文件,其中包含我检查的每个文件的结果:
...
Results for: C:\test\test.dll
Dynamic Base : "Present"
ASLR : "Present"
High Entropy VA : "Present"
Force Integrity : "NotPresent"
Isolation : "Present"
NX : "Present"
SEH : "NotPresent"
CFG : "NotPresent"
RFG : "NotPresent"
SafeSEH : "NotPresent"
GS : "NotPresent"
Authenticode : "NotPresent"
.NET : "Present"
Results for: C:\test\test2.dll
Dynamic Base : "Present"
ASLR : "Present"
High Entropy VA : "Present"
Force Integrity : "NotPresent"
Isolation : "Present"
NX : "Present"
SEH : "NotPresent"
CFG : "NotPresent"
RFG : "NotPresent"
SafeSEH : "NotPresent"
GS : "NotPresent"
Authenticode : "NotPresent"
.NET : "Present"
...
我的脚本检查每一行并搜索特定的文件名,在本例中,我们假设为test2.dll
Foreach($line in Get-Content results.txt) {
if($line -like '*test2.dll*') {
}
}
如何获取以下6行的结果以下结果:C:\test\test2.dll,例如来自NX行
谢谢
2条答案
按热度按时间uqdfh47h1#
使用
Array.IndexOf
获取特定行的元素索引,然后将该数字减6:wrrgggsh2#
下面是一种将文件转换为某些对象的方法(有点复杂):
然后,可以使用标准PowerShell技术操作该集合。例如,可以通过执行以下操作获取“test2.dll”的“NX”值: