【问题标题】:Export XML to path with special characters将 XML 导出到带有特殊字符的路径
【发布时间】:2016-11-07 07:16:07
【问题描述】:

我正在创建一个 PowerShell GUI 脚本,它通过将当前配置导出到 .xml 来迁移服务器配置,然后将其应用到另一台机器上。

我发现如果我选择带有特殊字符(如][ sss ]! ' @ # $% (<)的文件夹,则 cmdlet Export-Clixml 不起作用。

这个问题也在cmdletTest-Path中,但是我发现.net方法,在测试这种路径[System.IO.Directory]::Exists($DestinationPath + '\ServerConfig.xml')时没有这个bug

我的问题是 ¿如何使用 .net 导出和导入 .xml?

【问题讨论】:

    标签: xml import export xml-serialization powershell-2.0


    【解决方案1】:

    我强烈建议您 a) 避免在路径中放置特殊字符,b) 至少升级到 PowerShell v3,以便您可以使用 Export-Clixml -LiteralPath(和 Test-Path -LiteralPath)。

    如果由于某些不明确的原因无法尝试,您可以尝试

    $xml = $data | ConvertTo-Xml
    $xml.Save('C:\path\to\output.xml')
    

    但是,ConvertTo-XmlExport-Clixml 不使用相同的架构,因此您还必须调整导入例程。

    【讨论】:

    • 我得到了,使用“1”参数调用“保存”的异常:“路径中有非法字符。”
    • @kimopryvt 然后你的路径中有invalid characters。修复它。
    猜你喜欢
    • 1970-01-01
    • 2019-09-06
    • 1970-01-01
    • 2015-06-15
    • 2022-10-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多