Есть ли способ найти файл, заменить текст внутри файла и сохранить только отредактированный текст - PullRequest
1 голос
/ 11 апреля 2019

Я хочу создать свой собственный маленький инструмент для расшифровки и расшифровки.У меня уже есть сценарий шифрования и «База данных», теперь мне нужен только инструмент расшифровки.Теперь приходит сценарий 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

1 Ответ

1 голос
/ 11 апреля 2019

Я предполагаю, что это то, что вы хотите сделать.

(Get-Content -Path Text.txt -Raw).Replace($1, "'na").Replace($2, "'nb") | Out-File EditedText.txt

флаг -Raw вернет строковый объект вместо строки [] и .Метод Replace (valueToReplace, newValue) является частью класса string.Наконец, Out-File выведет его в новый файл.Если вы хотите добавить его в существующий файл, используйте переключатель -Append для команды Out-File.В противном случае он просто перезапишет файл, если он существует.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...