C#流程-输入的管道虚拟机

问题描述 投票:0回答:1

在Python中,通过将stdin=subprocess.DEVNULL指定为subprocess.Popen的参数,可以跳过子进程的所有“按任意键继续...”提示。但是,在C#中,我不确定如何将devnull流(Stream.Null?)输送到Process.StandardInput

如何在C#的子过程中跳过任意数量的“按任意键继续...”提示?

c# process stdin popen
1个回答
0
投票

使用CliWrap,所有管道默认情况下都重定向到/dev/null(您可以配置它们)。

因此您可以这样做:

await Cli.Wrap("child.exe").WithArguments("foo bar").ExecuteAsync();

如果要管道,则可以使用管道运算符:

await using var input = File.Open("input.txt");
await using var output = File.Create("output.txt");
await using var error = File.Create("error.txt");

var cmd = input | Cli.Wrap("child.exe").WithArguments("foo bar") | (output, error);

await cmd.ExecuteAsync();
© www.soinside.com 2019 - 2024. All rights reserved.