【发布时间】:2013-10-01 14:42:24
【问题描述】:
如果我有一个非常简单的脚本,其中包含一个只执行以下操作的函数:
function saySomething() {
Write-Output "Saying someting..."
}
如果我从控制台调用此函数,则会显示输出。但是,如果我执行以下操作:
$something = saySomething
然后没有输出显示。显然我的工作示例比这复杂得多,但简而言之,如果该函数用于设置变量,我如何在函数中显示输出?
【问题讨论】:
-
设置好后写出变量即可。有什么理由不这样做?
-
@MusaabAl-Okaidi 变量实际上是一个复杂的对象。这是一个运行缓慢的函数,我想在构建对象时显示某种状态。
-
你尝试过 Tee-Object 吗?这将允许您同时输出到控制台和文件,但是如果您不输出简单的文本,那么我想这对您不起作用,因为您需要将对象读回变量 right ?
-
刚刚意识到 Tee-Object 可以输出到变量,所以请参阅下面的答案。
-
@inquisitor - 如果要显示状态,请查看 Write-Progress cmdlet。如果你的函数同时返回它正在构建的东西和状态,那么你分配结果的变量将包含可能没有用的状态消息。
标签: windows function powershell output