如何将命令输出保存到变量,以及如何在Powershell中将该变量用作命令参数?

问题描述 投票:0回答:1

我想用当前用户的名称替换.cfg文件中的单词。

我知道$env:username输出当前用户。

这就是我得到的:

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

我正在尝试用当前用户替换“ TEST”一词。

powershell file variables
1个回答
2
投票

只需将文字字符串'current_user'替换为$env:username,就可以了:)

(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”之类的词的形式]

© www.soinside.com 2019 - 2024. All rights reserved.