gpt4 book ai didi

xml - Powershell自动使用新行

转载 作者:行者123 更新时间:2023-12-02 23:59:11 25 4
gpt4 key购买 nike

我的脚本遇到了麻烦。

我正在从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在我的路径中间插入换行符,因为它太长了(只需阅读有关buffersize的信息)。我试图将其保存到.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仅用于控制台输出。尝试除此以外的其他用途都会导致问题。给定您的示例XML,您可以仅使用点表示法来获取所有location

在您的示例中,您试图输出具有location属性的对象数组。使用点表示法调用属性会从输出中删除该层。

$xmlFile = [xml](Get-Content "PATH\TO\XML.xml")
$xmlFile.unattend.servicing.package.source.location | Set-Content ".\PATHS.txt"

在这种情况下,我认为您实际上不需要附加到文件中。但是,如果您确实要构建一个更大的文件,那么在我的示例中可以使用 Add-Content代替 Set-Content

示例输出
HERE\IS\MY\PATH
HERE\IS\ANOTHER\PATH
HERE\IS\ANOTHER\PATH

关于xml - Powershell自动使用新行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34721636/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com