2012-06-18 68 views
0

我有以下代碼工作 - 基於stackoverflow這裏的很大幫助 - 解析CSV文件。我想替換$ _。文件 - 與來自包含文件列表的第二個CSV文件的數據匹配。導入CSV作爲數組的對象

Import-csv "D:\NTFSInfo_C_.csv" -header("File","ParentName","Extension","Attributes","SizeInBytes","CreationDate","LastModificationDate","LastAccessDate","LastAttrChangeDate","Status","USN","FRN","ParentFRN","FileNameCreationDate","FileNameLastModificationDate","FileNameLastAccessDate","FileNameLastAttrModificationDate")| 
    Where-Object{($_.File -match "null.sys") -or ($_.File -match "explorer.exe")} | 
    Select-Object File, CreationDate, FileNameCreationDate, ParentName | 
    Export-CSV -Path c:\NTFS_KNOW_IOC.csv -NoTypeInformation 

問題。如何將TXT或CSV中的文件名列表讀取到數組中,然後如上所示在Where-Object中使用該數組?

謝謝!

回答

2
$files = Get-Content files.txt 
... 

Where-Object{($files -match "null.sys") -or ($files -match "explorer.exe")} ... 
+0

謝謝謝。當我測試代碼時...我的files.txt文件中的文件加載。謝謝。看來,哪裏的對象不循環通過文件列表。我需要添加一個循環來實現這個嗎? – user1373685

+0

不,代碼不會遍歷文件列表,它只是檢查是否匹配。 –

+0

很酷。如果我想檢查在files.txt中的數據在NTFSInfo_C_.csv中的數據,我只需要添加一個循環?還是有一些偷偷摸摸的很酷的方式來在PS中做到這一點?謝謝你的時間。 – user1373685