我可以将Powershell输出管道传输到加速器吗



我通过询问任务调度程序参数获得了xml资源的文件路径。我想通过管道将这些文件路径传输到[xml],以使用XPath返回数据。

在线我看到加速器和变量被使用,例如

$xml = [XML](Get-Content .Test.xml)

尝试通过管道转换为xml,但这是一个包含文件路径的xml对象,所以我需要转换为[xml]-希望在管道中这样做,可能是为了>1 xml文档

是否可以通过管道连接到[类型加速器]?我应该根据需要连接到新对象还是三通变量?

我希望最终能够构建一个线性来询问几个节点(例如LastRan、LastResult)

目前我有这个,它只适用于一个

([xml](Get-Content ((Get-ScheduledTask -TaskPath *mytask* | select -First 1).Actions.Arguments | % {$_.Split('"')[-2]}))).MyDocument.LastRan

从MyDocument节点返回LastRan的值。

提前感谢

如果您想获得管道输入,您需要创建一个函数并设置参数属性ValueFromPipeline

Function Convert-XML {
Param(
[Parameter(ValueFromPipeline)]$xml
)
process{
[xml]$xml
}
}

然后可以获取xml文件的内容(一次完成,而不是逐行)

Get-Content .Test.xml -Raw | Convert-XML

当然,为了获得一行代码,您可能需要在函数中添加相应的逻辑。然而,这就是处理管道输入的方式。

最新更新