将 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-Xml
和 Export-Clixml
不使用相同的架构,因此您还必须调整导入例程。
我正在创建一个 PowerShell GUI 脚本,它通过导出来迁移服务器配置。xml 当前配置,然后将其应用到另一台机器。
我发现如果我 select 具有特殊字符的文件夹 ][ sss ]! ' @ # $% (<
.
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-Xml
和 Export-Clixml
不使用相同的架构,因此您还必须调整导入例程。