Powershell - 删除CSV中的所有行,包括文件夹中所有文件的特定字符串。

时间:2016-03-09 15:23:06

标签: csv powershell scripting

我有以下代码在文件中搜索字符串并将行号返回给变量。然后删除所有直到并包括此行的行。我需要修改此代码以运行目录中的所有.CSV文件。

$a = Select-String draft.csv -Pattern RESULTS -CaseSensitive | Select -expand LineNumber
$content = Get-Content draft.csv
$content | Foreach {$n=1} {if ($n++ -ge ($a+1)) {$_}} > draft.csv

1 个答案:

答案 0 :(得分:0)

我能够使用以下内容完成此任务。如果有人有更快的方法,我很高兴听到它。

ForEach ($file in Get-ChildItem *.csv)
{
    $filename = $file.fullname

    $a = Select-String $filename -Pattern RESULTS -CaseSensitive | Select -expand LineNumber
    $content = Get-Content $filename
    $content | Foreach {$n=1} {if ($n++ -ge ($a+1)) {$_}} > $filename
    Echo $filename "is Complete.... Moving On!"

}