从部分字符串匹配中删除完整的文本字符串,而不是创建新文件

时间:2016-07-22 20:35:37

标签: powershell powershell-v2.0

我目前正试图从部分匹配的多个文件中删除完整的文本字符串。

例如,我有一个标题和页脚,字符0*5按照确切的顺序排列。我想在不更改文件名的情况下从特定文件夹中的文件中完全删除页眉和页脚。我找到并尝试过Get-Content myFile.txtSet-Content newFile.txt

我的文件位于文件夹中,因此我从" *"中调用它们。他们都有不同的名字。我试图通过PowerShell一次性删除所有页眉和页脚。

1 个答案:

答案 0 :(得分:0)

我不是失去原件的粉丝,所以我使用长方法:

$ListofFiles = Get-ChildItem c:\windows\logs\* -include *.txt

ForEach ($item in $ListOfFiles){
    $FileContent = Get-Content "$item.txt"
    Rename-Item -path "c:\windows\logs\$item.txt" -newname "$item.old"
    ForEach ($line in $FileContent) {
        If ($Line -like "*whatever i am looking for*") {
            Write-host "Found the entry i was looking for"
        }
        else {
            $Line | Out-File "c:\windows\logs\$item.txt"
        }
    }
}