c.Invoke()
将调用 b.Invoke()
,拿出 b
的标准输出流读取句柄,然后创建 c
自己的进程,如果 c
的进程创建失败,则终止 b
的进程;
b.Invoke()
将调用 a.Invoke()
,拿出 a
的标准输出流读取句柄,然后创建 b
自己的进程,如果 b
的进程创建失败,则终止 a
的进程;
a.Invoke()
将以读模式打开先前指定的文件,并把这个句柄当作自己的标准输出读取句柄;
- 它拿出
c
的标准输出流读取句柄,并读取流的内容,每发现一行,就输出一个字符串到管道。
Invoke-NativeCommand
CreateProcess
重载(参数集)
参数:-FilePath <string>
占据第一位,-ArgumentList <string[]>
占据剩余位置,-WorkingDirectory <string>
设置子进程的初始工作目录(默认为 .
),-StandardInput <ITeedProcessStartInfo>
可以从管道输入(可选),用于重定向子进程的标准输入。
这个 cmdlet 创建一个 PipedProcess
供后续管道消费。
CreateProcessWithStandardErrorRedirection
重载
比 CreateProcess
多两个参数:-ErrorFile <string>
和 -AppendError
。可以重定向子进程的标准错误到文件。
Get-RawPipelineFromFile
只有一个参数:-InputFile <string>
(占据第一位),参数的别名有 i
、if
、in
、stdin
。这个 cmdlet 创建一个 ConcatenateFileStartInfo
供后续管道消费。
Receive-RawPipeline
CommonEncoding
重载
三个参数:-StandardInput <ITeedProcessStartInfo>
可以从管道输入,-CommonEncoding { Auto | Byte | UTF8 | UTF16LE | UTF16BE | UTF32 }
(默认 Auto
)占据第一位,-Raw
是一个开关。
这个 cmdlet 消费输入的 ITeedProcessStartInfo
,它把它的数据按照 -CommonEncoding
指定的编码解读为字符串,若 -Raw
启用,则该 cmdlet 阻塞到进程结束,并在结束后返回一个字符串;若 -Raw
未启用,则该 cmdlet 不阻塞,只要进程的标准输出产生新的数据,cmdlet 就会按行输出(多个)字符串。
注意,如果 -CommonEncoding
是 Byte
,则该 cmdlet 总是尽早输出这些字节,并且 -Raw
会被无视。
CustomEncoding
重载
三个参数:-StandardInput <ITeedProcessStartInfo>
可以从管道输入,-Encoding <string>
以及 -Raw
是一个开关。
这个 cmdlet 消费输入的 ITeedProcessStartInfo
,它把它的数据按照 -Encoding
指定的编码解读为字符串,若 -Raw
启用,则该 cmdlet 阻塞到进程结束,并在结束后返回一个字符串;若 -Raw
未启用,则该 cmdlet 不阻塞,只要进程的标准输出产生新的数据,cmdlet 就会按行输出(多个)字符串。
Set-RawPipelineToFile
两个参数:-StandardInput <ITeedProcessStartInfo>
可以从管道输入,-OutputFile <string>
占据第一位。这个 cmdlet 通过把标准输出复制到指定文件来消费送入的 ITeedProcessStartInfo
。如果文件已经存在,它会被覆盖。
Add-RawPipelineToFile
两个参数:-StandardInput <ITeedProcessStartInfo>
可以从管道输入,-OutputFile <string>
占据第一位。这个 cmdlet 通过把标准输出复制到指定文件的末尾来消费送入的 ITeedProcessStartInfo
。如果文件不存在,它会被创建。
用 RSS 订阅