Tob*_*123 5 xml powershell command-line cmd windows-7
我有一个结构如下的xml文件,我想从命令行编辑这个文件.
<server>
<service>
<Connector port="8080" password="password1234"/>
</service>
</server>
Run Code Online (Sandbox Code Playgroud)
我想更改密码或端口号.cmd是否提供此选项,还是需要额外的工具?我知道powershell可以做到,但这对我来说不是最好的解决方案.(除了我没有得到它与powershell运行:().搜索"password1234"并替换它也是可以的,因为我的文件中有一个默认密码,它始终是相同的,必须更换.
为了演示我使用的一种方法,首先在您的示例中创建 xml 文件:
为 XML 文件名定义变量
$xmlFile = "C:\temp\myconfig.xml"
Run Code Online (Sandbox Code Playgroud)
定义要保存到文件的 XML 字符串
$xmlFromString = [xml]@"
<server>
<service>
<Connector port="8080" password="password1234"/>
</service>
</server>
"@
Run Code Online (Sandbox Code Playgroud)
将xml内容保存到文件中
$xmlFromString.Save($xmlFile)
Run Code Online (Sandbox Code Playgroud)
结果文件内容
Get-Content -Path $xmlFile
Run Code Online (Sandbox Code Playgroud)
Run Code Online (Sandbox Code Playgroud)<server> <service> <Connector port="8080" password="password1234" /> </service> </server>
以下是用于更改值的 PowerShell 代码:从文件中获取 XML 内容
$xml = [xml](Get-Content -Path $xmlFile)
Run Code Online (Sandbox Code Playgroud)
查找元素/节点并更改属性值
$node = $xml.selectSingleNode('//server/service/Connector')
$node.port = "9090"
$node.password = "MyNewPassord4321"
Run Code Online (Sandbox Code Playgroud)
保存 XML 内容并退出
$xml.Save($xmlFile)
Run Code Online (Sandbox Code Playgroud)
结果
Get-Content -Path $xmlFile
Run Code Online (Sandbox Code Playgroud)
Run Code Online (Sandbox Code Playgroud)<server> <service> <Connector port="9090" password="MyNewPassord4321" /> </service> </server>
将命令保存到 PowerShell ps1 文件并通过 PowerShell 执行/运行它。
我们需要更多有关您想要完成的任务的详细信息,例如:
希望这有帮助。——布鲁克斯
| 归档时间: |
|
| 查看次数: |
5517 次 |
| 最近记录: |