2

假设您想创建一个 PowerShell Cmdlet,以获取当前目录中的所有文件并将它们的名称打印到控制台。假设应该执行所有这些操作的类继承自 PSCmdlet,您会将逻辑放入 ProcessRecord 还是 EndProcessing?我一直在寻找的教程将主要代码放在 EndProcess 中。我很想知道将代码放在 ProcessRecord 中是否会改变任何东西。

4

1 回答 1

3

这里总结一下方法:

BeginProcessing = Provides a one-time, preprocessing functionality for the cmdlet.
EndProcessing   = Provides a one-time, post-processing functionality for the cmdlet.
ProcessRecord   = Provides a record-by-record processing functionality for the cmdlet.

在您的链接的情况下,cmdlet逻辑在EndProcessing方法中,因为正在执行一次性操作。将逻辑移入ProcessRecord()不要更改结果,但逻辑上不正确。

阅读此处了解更多信息。

于 2012-06-07T05:26:41.900 回答