2015-02-11 70 views
0

電源外殼文件,我需要獲得該文件的一部分。例如,我需要提取下列如何分析與條件和垃圾

Main, Branches\Branch1 

一個變量也是我不能有重複的值

這是可能的PowerShell?

這是文件:

This is a garbage line 
This is another garbage line 
c:\Folder\Main\Folder\..\Folder 
c:\Folder\Main\Folder\..\Folder 
c:\Folder\Branches\Branch1\Folder\..\Folder 
c:\Folder\Branches\Branch1\Folder\..\Folder 
c:\Folder\Branches\Branch1\Folder\..\Folder 
c:\Folder\Main\Folder\..\Folder 
c:\Folder\Main\Folder\..\Folder 
this is the final line.. 

回答

2

但當然......

根據事實$文件包含行

$files = Get-content "your file" 

您可以使用以下,以確保沒有重複:

$files | Sort-Object -Unique 

然後你可以使用測試路徑,以確保路徑存在

$files | Sort-Object -Unique | where {Test-Path $_ -ErrorAction SilentlyContinue} 
+0

謝謝你,當我把$ files | Sort-Object -Unique刪除所有的util信息並且只顯示這個:這是一個垃圾行 這是另一個垃圾行 這是最後一行.. – 2015-02-11 04:35:15

+0

對不起,我不明白。它回答你的問題嗎? – JPBlanc 2015-02-11 04:48:55

+0

不,我對第一行有問題 – 2015-02-11 05:23:03

-1

這將使用-like過濾器取出垃圾提取樣本數據的值和-replace做的提取物。 sort -unique將刪除重複項,但不會保留提取的值與它們在文件中的順序相同。

(get-content testfile.txt) -like 'c:\Folder*' -replace 'c:\\Folder\\(.+?)\\Folder.+','$1' | 
sort -unique