小编Ken*_*org的帖子

Powershell中的Bash/batch-like子shell

在Unix shell中,你可以这样写:

( cmd1 ; cmd2 ) | cmd3
Run Code Online (Sandbox Code Playgroud)

在Windows Batch中,您可以编写此代码

( cmd1 & cmd2 ) | cmd3
Run Code Online (Sandbox Code Playgroud)

在这两种情况下,cmd1和cmd2的输出都传递给stdin上的cmd3.

是否有可能在Powershell中做同样的事情?

我还没有找到允许这种情况的有效语法.我希望语句块可以像这样工作,但它没有:

{ cmd1 ; cmd2 } | cmd3
Run Code Online (Sandbox Code Playgroud)

我可以通过声明一个函数来使它工作:

function f() {
    cmd1
    cmd2
}
f | cmd3
Run Code Online (Sandbox Code Playgroud)

是否有一种语法可以让它在线完成?

powershell

9
推荐指数
1
解决办法
2508
查看次数

标签 统计

powershell ×1