在PowerShell中的集合中查找项
我有一个包含以下数据的文本文件:在PowerShell中的集合中查找项,powershell,Powershell,我有一个包含以下数据的文本文件: 1390 resource core\scripts\script.properties 1395 resource core\scripts\script.xml 1396 resource core\scripts\script_customer.xml ... 等等 我还有一个参数列表,例如file1.txt,file2.txt,等等 我想做的是根据给定的文件名提取数字id(如果存在) 我编写了以下代码将文件内容读入集合: $regex = "^(?&l
1390 resource core\scripts\script.properties
1395 resource core\scripts\script.xml
1396 resource core\scripts\script_customer.xml
...
等等
我还有一个参数列表,例如file1.txt
,file2.txt
,等等
我想做的是根据给定的文件名提取数字id(如果存在)
我编写了以下代码将文件内容读入集合:
$regex = "^(?<code>\d+)\s+(?<descriptor>\w+)\s+(?<filename>.*)$"
$results = Get-Content .\resources.txt |
ForEach-Object {
if ($_ -match $regex) {$matches} else { return }
} |
select –Property @{name='code'; expression={$_.code} },
@{name='descriptor'; expression={$_.descriptor} },
@{name='filename'; expression={$_.filename} }
试试这个(PSv3+):
$results |其中对象文件名-匹配$arg |选择对象-展开代码
from arg in args
from result in results
where result.fileName.Contains(arg)
select result.code