Как сохранить вывод команды в переменной и как использовать эту переменную в качестве параметра команды в Powershell? - PullRequest
0 голосов
/ 26 мая 2020

Я хотел бы заменить слово в файле .cfg именем текущего пользователя.

Я знаю, что $env:username выводит текущего пользователя.

Это то, что Я получил:

(Get-Content -path path\example.cfg -Raw) -replace 'TEST','current_user' | Set-Content path\example.cfg

Я пытаюсь заменить слово «ТЕСТ» на текущего пользователя.

1 Ответ

2 голосов
/ 26 мая 2020

Просто замените буквальную строку 'current_user' на $env:username, и вам будет хорошо go:)

(Get-Content -path path\example.cfg -Raw) -replace 'TEST',$env:username | Set-Content path\example.cfg

Обратите внимание, что -replace - это оператор регулярного выражения, поэтому мы можем даже квалифицировать искомое слово:

(Get-Content -path path\example.cfg -Raw) -replace '\bTEST\b',$env:username | Set-Content path\example.cfg

\b означает «граница слова» в регулярном выражении и поможет вам избежать частичной замены TEST в таких словах, как «HOTTEST» или «TESTICULAR»

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