我正在尝试将在powershell中作为参数传递的文本添加到配置文件中。以下是代码示例。我期待下面的命令将读取配置文件&搜索参数1&当它找到参数时,它将在“=”
之后添加值(作为参数传递)(gc config.params) -replace "Parameter1 =", "$&` $1" | sc inifile.params
所以输出应该是这样的: 参数1 =主机名
执行以下命令时: powershell.exe Untitled1.ps1主机名
请建议。
答案 0 :(得分:1)
$1
不是如何将参数传递给PowerShell脚本;他们得到一个数组$args
或指定参数名称。并且数组没有脚本路径作为第一个元素。
所以,对于你的代码:
(gc config.params) -replace "Parameter1 =", "$&` $($args[0])" | sc inifile.params
或
param($text)
(gc config.params) -replace "Parameter1 =", "$&` $text" | sc inifile.params