我想制作自己的小加密和解密工具。我已经有了加密脚本和“数据库”,现在只需要解密工具。现在出现了PowerShell脚本。我在一个文本文件中有多个字符串,我的加密密码保存在其中,脚本应该在文本文件中搜索那些字符串,然后用密码替换,而不是只需要将已编辑的文本(解密密码)保存在另一个文件中。有没有办法用PowerShell做到这一点?
我尝试了-replace
,但随后只更改了一个字符串,并保存了文件的其余部分
$1 = "abc"
(Get-Content Text.txt) | ForEach-Object { $_ -replace $1, "`na" } | Set-Content EditedText.txt
$2 = "def"
(Get-Content Text.txt) | ForEach-Object { $_ -replace $2, "`nb" } | Set-Content EditedText.txt
答案 0 :(得分:1)
我假设这是您想要做的。
(Get-Content -Path Text.txt -Raw).Replace($1, "'na").Replace($2, "'nb") | Out-File EditedText.txt
-Raw 标志将返回字符串对象而不是字符串[],并且 .Replace(valueToReplace,newValue)方法是字符串类的一部分。最后,Out-File将其输出到新文件。如果要将其附加到现有文件,请使用“输出文件”命令上的-追加开关。否则,它将仅覆盖该文件(如果存在)。