2016-07-05 53 views
0

我正在创建PowerShell GUI脚本,该脚本通过将当前配置导出到.xml来迁移服务器配置,然后将其应用到另一台计算机。将XML导出为包含特殊字符的路径

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

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

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

回答

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不要使用相同的架构,所以你必须调整你的导入例程以及。

+0

我收到了,带有“1”参数的异常调用“保存”:“路径中的非法字符”。 –

+0

@ kimopryvt然后你的路径中有[无效字符](https://msdn.microsoft.com/en-us/library/windows/desktop/aa365247%28v=vs.85%29.aspx#naming_conventions)。修复。 –