是否有将所有命令封装在 Powershell 会话中的技巧,以便将所有输出都发送到临时变量?
我输入命令时出现问题 Some-Function
我完全了解像这样的命令Tee-Object,-OutVariable它允许我将函数的输出通过管道传输到变量和控制台。我可以通过以下方式实现我的目标:
Some-Function | Tee-Object -Variable PSMyCustomTempVariable
但是,我经常不知道或预期我是否需要该变量,直到我已经运行了 run 之后Some-Function。在这种情况下,最好有一个包含最后一个函数输出的变量。这对于像递归文件搜索这样需要一段时间才能运行的函数特别有用。
我看过about_Logging以及Start-Transcript,但这些似乎与将文本记录到文件有关;我需要函数返回的对象。
那么,有没有办法修改我的会话,以便任何 Powershell 命令Some-Function基本上变成Some-Function | Tee-Object -Variable PSMyCustomTempVariable?
不完全是。然而,
$Variable = (Some-Function)
Run Code Online (Sandbox Code Playgroud)
将 的输出保存Some-Function在变量中$Variable,然后允许您操作数据或稍后将其传递给其他函数。完成相当于
Some-Function | Tee-Object -Variable $Variable
Run Code Online (Sandbox Code Playgroud)
它将获取 的输出Some-Function,将其保存在 中$variable,然后通过管道将其传递给下一个命令,您可以使用
$variable = (Some-Function)
$variable
Run Code Online (Sandbox Code Playgroud)
(或$variable | Next-Command),并完成您似乎想要的。
| 归档时间: |
|
| 查看次数: |
15246 次 |
| 最近记录: |