我有一个结构如下的xml文件,我想从命令行编辑这个文件.
<server> <service> <Connector port="8080" password="password1234"/> </service> </server>
我想更改密码或端口号. cmd是否提供此选项,还是需要额外的工具?我知道powershell可以做到,但这对我来说不是最好的解决方案. (除了我没有得到它与powershell运行:().
搜索“password1234”并替换它也是可以的,因为我的文件中有一个默认密码,它始终是相同的,必须更换.
解决方法
为了演示我使用的一个方法,首先在示例中创建XML文件:
为XML文件名定义变量
$xmlFile = "C:\temp\myconfig.xml"
定义要保存到文件的XML String
$xmlFromString = [xml]@" <server> <service> <Connector port="8080" password="password1234"/> </service> </server> "@
$xmlFromString.Save($xmlFile)
Get-Content -Path $xmlFile
06004
以下是更改值的PowerShell代码
从文件中获取XML内容
$xml = [xml](Get-Content -Path $xmlFile)
查找元素/节点并更改属性值
$node = $xml.selectSingleNode('//server/service/Connector') $node.port = "9090" $node.password = "MyNewPassord4321"
$xml.Save($xmlFile)
结果
Get-Content -Path $xmlFile
06009
将命令保存到PowerShell ps1文件并通过PowerShell执行/运行它.
我们需要有关您尝试完成的具体内容的其他详细信息,例如:
>运行脚本的用户/帐户有哪些权限?
>脚本将从何处运行?本地PC或服务器?
>一个或多个服务器/工作站?
>通过Windows Scheduler任务执行?
希望这很有帮助. – 布鲁克斯