【发布时间】:2016-04-15 18:25:51
【问题描述】:
我的脚本有问题。
我正在从需要修改的 XML 文件中获取路径。
$file = [xml](Get-Content "PATH\TO\XML.xml")
$file.here.is.my.attribute | Format-Table -Wrap -AutoSize | out-file -filepath ".\PATHS.txt" -append
Powershell 在我的路径中间插入换行符,因为它太长了(只需阅读有关缓冲区大小的信息)。我尝试将其保存到 .XML 文件而不是 .TXT 文件,但这对我不起作用。
有任何解决方法的想法吗?
文件应如下所示:
Path1\Path\Path\path
Path2\Path\Path\path
Path3\Path\Path\path
但它看起来像:
Path1\Path\Path\
path
Path1\Path\Path\
path
Path1\Path\Path\
path
XML 示例:
<?xml version="1.0" encoding="utf-8"?>
<unattend>
<servicing>
<package>
<assemblyIdentity/>
<source location="HERE\IS\MY\PATH"/>
</package>
<package>
<assemblyIdentity/>
<source location="HERE\IS\ANOTHER\PATH"/>
</package>
<package>
<assemblyIdentity/>
<source location="HERE\IS\ANOTHER\PATH"/>
</package>
</servicing>
</unattend>
【问题讨论】:
-
以及为什么您认为需要将 Format-Table 传递到 Out-File?不应该是非此即彼吗?
-
我用它自动将行格式化为正确的长度。但“自动调整大小”已达到最大值
-
我认为有必要预先格式化我的数据...
-
一个
中是否有多个 元素?无论哪种方式,我都可以使用 $xml.unattend.servicing.package.source.location取出那个你也可以通过点表示法获取属性。 -
您可能在“$file.here.is.my.attribute”的末尾缺少一个“.location”——没有正确访问属性值
标签: xml powershell output autosize