为了证明一个方法我用让先在您的示例XML文件:
定义一个变量的XML文件名
$xmlFile = "C:\temp\myconfig.xml"
定义的XML字符串保存到文件
$xmlFromString = [xml]@"
<server>
<service>
<Connector port="8080" password="password1234"/>
</service>
</server>
"@
保存XML内容的文件
$xmlFromString.Save($xmlFile)
生成的文件内容
Get-Content -Path $xmlFile
<server>
<service>
<Connector port="8080" password="password1234" />
</service>
</server>
这里是PowerShell代码更改数值 获取从文件的XML内容
$xml = [xml](Get-Content -Path $xmlFile)
查找元素/节点并更改属性值
$node = $xml.selectSingleNode('//server/service/Connector')
$node.port = "9090"
$node.password = "MyNewPassord4321"
保存XML内容背出来
$xml.Save($xmlFile)
结果
Get-Content -Path $xmlFile
<server>
<service>
<Connector port="9090" password="MyNewPassord4321" />
</service>
</server>
保存命令一个PowerShell PS1文件并执行/通过运行电源外壳。
- 将用户/帐户上运行什么权利的脚本有:
究竟你试图完成的,如我们需要的其他详细信息?
- 脚本将从哪里运行?本地PC或服务器?
- 一台或多台服务器/工作站?
- 通过Windows调度程序任务执行?
希望有帮助。 - 布鲁克斯
您可以使端口和密码参数%1%2。 – jdweng
对不起,你能描述一下如何做得更详细些吗?另外:不需要创建端口或密码值。也可以搜索“password1234”并替换它,因为我的文件中有一个默认密码,它始终是相同的,必须替换它。 – Tobi123
我找到了for/f命令的一些解决方案,但是这不包括替换:( – Tobi123