将XML导出到具有特殊字符的路径

时间:2016-07-05 12:35:41

标签: xml import export xml-serialization powershell-v2.0

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

如果我选择具有Export-Clixml等特殊字符的文件夹,我发现cmdlet ][ sss ]! ' @ # $% (<无效。

此问题也出现在cmdlet Test-Path中,但我发现.net方法在测试此类路径时没有此错误[System.IO.Directory]::Exists($DestinationPath + '\ServerConfig.xml')

我的问题是¿如何使用.net?

导出和导入.xml

1 个答案:

答案 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不使用相同的架构,因此您还必须调整导入例程。