【发布时间】:2017-05-28 08:18:14
【问题描述】:
我试图让 PowerShell 吐出一个语义版本控制变量,但卡在其中只显示我输入的命令(在 ISE 中执行此操作)或 2 个错误(“缺少参数”或“不接受管道input'),如果我尝试解决它们,则以再次显示的命令结束。
我如何得到这个:
(Invoke-WebRequest -Uri http://someplace).Links.href | Out-String -Stream |
Select-String -Pattern [regex]$someGoodRegex -OutVariable $NodeVersion_target
假设正则表达式和网络请求指向可靠的东西,只需将搜索词粘贴在定义的 -OutVariable 中?
一般来说,有没有一种显示管道中对象属性的好方法?经过大量挖掘后,我偶然发现了{$_},但如果命令变得比简单的 cmdlet 复杂一点,则无法让它再次显示命令以外的任何内容。
【问题讨论】:
-
我还在纠结它,无法让它输出有意义的东西。以下几行可能会表达我正在寻找的更多内容:
(Invoke-WebRequest -URI https://nodejs.org/dist/latest) | Select Links.href.ToString | Select-String -Pattern "v\d+\.\d+\.\d+/s" -OutVariable $NodeVer_target
标签: powershell debugging pipe select-string