我使用下面的PowerShell腳本,以搜索和替換工作正常搜索和使用PowerShell
$files = Get-ChildItem 'E:\replacetest' -Include "*.txt" -Recurse | ? {Test-Path $_.FullName -PathType Leaf}
foreach($file in $files)
{
$content = Get-Content $file.FullName | Out-String
$content| Foreach-Object{$_ -replace 'hello' , 'hellonew'`
-replace 'hola' , 'hellonew' }| Out-File $file.FullName -Encoding utf8
}
問題是腳本替換也修改不具有在它匹配的文本文件。任何關於如何忽略沒有匹配文本的文件的指針?
是否有任何選項可以忽略一些匹配的文本。例如,該文件也由文件路徑組成,如c:/hola/hello.xml。我想包含一個正則表達式或條件,以便在/ hola /之間不更改hola,或者將其作爲文件名作爲hello.xml並更改其他的參數。 – user2628187