我有一个脚本,我基本上是在其中对几个文本字符串进行查找和替换。前几个字符串有效,但是当我处理帐户 key 时,它们不起作用。我该如何解决这个问题?
这是脚本:
Get-ChildItem "[FILEPATH]" -recurse |
Foreach-Object {
$c = ($_ | Get-Content)
$c = $c -replace 'abt7d9epp4','w2svuzf54f'
$c = $c -replace 'AccountName=adtestnego','AccountName=zadtestnego'
$c = $c -replace 'AccountKey=eKkij32jGEIYIEqAR5RjkKgf4OTiMO6SAyF68HsR/Zd/KXoKvSdjlUiiWyVV2+OUFOrVsd7jrzhldJPmfBBpQA==','DdOegAhDmLdsou6Ms6nPtP37bdw6EcXucuT47lf9kfClA6PjGTe3CfN+WVBJNWzqcQpWtZf10tgFhKrnN48lXA=='
[IO.File]::WriteAllText($_.FullName, ($c -join "`r`n"))
}
最佳答案
'-replace' 进行正则表达式搜索,最后一个中有特殊字符(如 +)
所以你可以像这样使用非正则表达式替换版本:
$c = $c.replace('AccountKey=eKkij32jGEIYIEqAR5RjkKgf4OTiMO6SAyF68HsR/Zd/KXoKvSdjlUiiWyVV2+OUFOrVsd7jrzhldJPmfBBpQA==','DdOegAhDmLdsou6Ms6nPtP37bdw6EcXucuT47lf9kfClA6PjGTe3CfN+WVBJNWzqcQpWtZf10tgFhKrnN48lXA==')
关于string - 如何在PowerShell中使用运算符 '-replace'将文本字符串替换为特殊字符并成功替换,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19794187/