【发布时间】:2015-02-18 15:27:24
【问题描述】:
我正在尝试遍历文件并删除不需要的行。文件中的行具有不变的唯一编号。到目前为止,我所拥有的并没有删除 foreach 循环中的行,而是单独删除了。
$FSEFiles=get-childitem E:\FSE*.txt
foreach ($file in $FSEFiles)
{
try
{
(Get-Content $file.PSPath) |
Foreach-Object { Where-Object { $_ -notmatch "15987@" } } |
Foreach-Object { Where-Object { $_ -notmatch "16422@" } } |
#Foreach-Object {Where-Object { $_ -notmatch "17526@"}} |
#Foreach-Object {Where-Object { $_ -notmatch "17527@"}} |
#Foreach-Object {Where-Object { $_ -notmatch "17528@"}} |
#Foreach-Object {Where-Object { $_ -notmatch "17530@"}} |
#Foreach-Object {Where-Object { $_ -notmatch "17531@"}} |
#Foreach-Object {Where-Object { $_ -notmatch "17532@"}} |
Set-Content $file.PSPath
write-host $file updated
}
catch
{
write-host Error editing $file
}
}
我是否遗漏了一些可以让这个循环在每一行上工作的东西?
【问题讨论】:
标签: loops powershell foreach where