如果可能的话,我想修改这个脚本:
((Get-Content -path "C:UsersUser1OUTSummary.txt" -Raw) -replace '</ab></cb>','</x>') | Set-Content -Path "C:UsersUser1OUTSummary.txt"
我想要一个脚本,将运行与Windows操作系统搜索一个文件,它发现在这个路径:
C:UsersUser1FileSummary.txt
在该文件中,当它发现以:<a><b>Data
开头的数据时,,同时以:</ab></cb>
结尾需要将结尾改为:</x>
并且需要在不更改文件名的情况下保存文件。
例如显示以下数据的一行:
<a><b>Data:</y> 12345678</ab></cb>
将更改为:
<a><b>Data:</y> 12345678</x>
上面的PowerShell脚本将找到</ab></cb>
的所有实例并将其替换为</x>
,这不是我希望完成的。
您可以使用Get-Content
逐行处理文件,只有在<a><b>
上有Match
时才执行Replace
。像这样:
$InFile = ".TestIn.txt"
$OutFile = ".TestOut.txt"
If (Test-Path -Path $OutFile) {Remove-Item $OutFile}
Get-Content $InFile | ForEach-Object -Process {
$NewLine = $_
If ($_ -Match '<a><b>') {
$NewLine = ($_ -Replace '</ab></cb>','</x>')
}
Add-Content $OutFile $NewLine
}