我希望文件与文件前缀和文件扩展名之间的count变量一起保存。 Out-File(文件前缀+计数变量+文件扩展名)。那类的东西。我对Powershell来说是一个荒谬的新人,所以请怜悯:P
$max = get-content h:test1\test.txt | Measure-Object
$h = get-content h:test1\test.txt
For($i=0; $i -lt $max.count ; $i++){
select-string h:test2\*.txt -pattern $($h[$i]) | Format-List | Out-File (Join-Path h:\text $i)
}
答案 0 :(得分:1)
只需使用
Out-File h:\text\$i.extension
PowerShell的解析在边缘情况下引发了一些非常奇怪的问题,但总的来说它的设计可以像你期望的那样在大多数(如果不是全部)常见情况下工作。
在你的情况下,我可能会以不同的方式解决问题:
Get-Content h:\test1\test.txt |
ForEach-Object { $i = 0 } {
Select-String H:\test2\*.txt -pattern $_ |
Format-List |
Out-File h:\text\$i.extension
$i ++
}
在这种情况下,ForEach-Object
的第一个块在循环开始时运行一次并初始化计数器变量。我倾向于避免使用显式循环结构(例如for (x; y; z)
或foreach (x in y)
)来支持管道解决方案。
答案 1 :(得分:1)
select-string h:test2\*.txt -pattern $($h[$i]) | Format-List | Out-File "h:\text$i.txt"
与任何优秀的脚本语言一样,有很多方法可以实现目标,但这应该适合您。