我需要获取此文件的一部分,例如,我需要提取以下内容
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..
答案 0 :(得分:2)
但当然......
根据$ files包含你的行
$files = Get-content "your file"
您可以使用以下内容确保没有重复:
$files | Sort-Object -Unique
然后您可以使用Test-path确保路径存在
$files | Sort-Object -Unique | where {Test-Path $_ -ErrorAction SilentlyContinue}
答案 1 :(得分:-1)
这将使用-like
过滤器从示例数据中提取这些值以取出垃圾,并使用-replace
来提取。 sort -unique
将删除重复项,但不会保留提取的值与文件中的顺序相同。
(get-content testfile.txt) -like 'c:\Folder*' -replace 'c:\\Folder\\(.+?)\\Folder.+','$1' |
sort -unique