PowerShell标准输出和重定向

svobol13

我想建立像

cmd | transform_a | stdout_and | transform_b | store_variable
                         ^
                         |
    copy input to next consumer and to console

我试图利用Tee-Object但没有成功。我不想这样做

dir | select -last 5 | tee lastFiveLines | select -first 1
echo $lastFiveLines

完全可以。相反,我希望直接打印内容。

Frode F.

您可以尝试foreach循环,Out-DefaultOut-Host可以跳过其余的管道(无论如何,Host都是默认输出),同时还可以沿管道向下发送对象。样本:

Get-ChildItem |
Select-Object Name, FullName |
ForEach-Object { 
    #Send Name-value directly to console (default output)
    $_.Name | Out-Default
    #Send original object down the pipeline
    $_
} |
Select-Object -ExpandProperty FullName | % { Start-sleep -Seconds 1; "Hello $_" }

您可以创建一个过滤器以使其易于重用。

#Bad filter-name, but fits the question.
filter stdout_and { 
    #Send Name-value directly to console (default output)
    $_.Name | Out-Default
    #Send original object down the pipeline
    $_
}

Get-ChildItem |
Select-Object Name, FullName |
stdout_and |
Select-Object -ExpandProperty FullName | % { Start-sleep -Seconds 1; "Hello $_" }

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

重定向标准输入和标准输出

来自分类Dev

重定向标准输入和标准输出?

来自分类Dev

重定向标准输出和标准输入-Java

来自分类Dev

在 bash 脚本中重定向标准输入和标准输出

来自分类Dev

重定向标准输出OCaml

来自分类Dev

重定向EOF的标准输出

来自分类Dev

重定向标准输出和错误时,附加作品不带>>

来自分类Dev

重定向标准错误并保留标准输出

来自分类Dev

haskell System.Process.createProcess重定向标准输出和标准错误

来自分类Dev

重定向标准输出和标准错误,以及发送到后台的别名

来自分类Dev

如何使用变体重定向标准输出和标准错误?

来自分类Dev

将标准输出重定向到文件

来自分类Dev

将标准输出重定向到整数

来自分类Dev

Python撤销标准输出重定向

来自分类Dev

使用find -exec重定向标准输出

来自分类Dev

LLDB重定向下级标准输出

来自分类Dev

在屏幕命令中重定向标准输出

来自分类Dev

将错误重定向到标准输出

来自分类Dev

在Unix上重定向标准输出

来自分类Dev

如何从右向左重定向标准输出

来自分类Dev

在 VBS 中重定向到标准输出

来自分类Dev

输入和输出重定向

来自分类Dev

输出重定向和空格

来自分类Dev

zsh:重置标准输出/标准错误重定向

来自分类Dev

如何将标准输出重定向到标准错误

来自分类Dev

将标准输入重定向到标准输出

来自分类Dev

将STDOUT和STDERR重定向到文件,但system()的标准输出/错误除外

来自分类Dev

组合输入和输出外壳IO重定向(以非标准顺序)

来自分类Dev

Unix:如何修改和重定向所有正在运行的进程的标准输出