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

Export XML to path with special characters

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

我发现如果我 select 具有特殊字符的文件夹 ][ sss ]! ' @ # $% (<.

cmdlet Export-Clixml 不起作用

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

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

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

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

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

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