微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

从命令行修改XML

我有一个结构如下的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>
"@

将xml内容保存到文件

$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内容退出

$xml.Save($xmlFile)

结果

Get-Content -Path $xmlFile

06009

将命令保存到PowerShell ps1文件并通过PowerShell执行/运行它.

我们需要有关您尝试完成的具体内容的其他详细信息,例如:

>运行脚本的用户/帐户有哪些权限?
>脚本将从何处运行?本地PC或服务器?
>一个或多个服务器/工作站?
>通过Windows Scheduler任务执行?

希望这很有帮助. – 布鲁克斯

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。