首页 > 解决方案 > 我想使用 PowerShell 同时将我的脚本数据导出到 2 个文本文件中

问题描述

我有一个持续运行的 power shell 脚本,我已经将该脚本的输出导出到记事本文件中,并且我总是附加它以不断更新自身。

现在,我想要输出到 2 个纯文本文件。1 将具有我的附加输出,而 2 仅具有最新数据。

如何将相同的输出同时导出到 2 个文本文件?下面是我的脚本片段。

$(
write-host 'Checking Status.........'
GC .\file.txt | %{.\Status.ps1 $_}
) *>&1 > WINRMStatus.txt -Append

标签: powershellio-redirection

解决方案


您可以将附加重定向 ( >>) 与Tee-Object

& {
  write-host 'Checking Status.........'
  GC .\file.txt | %{.\Status.ps1 $_}
} *>&1 | Tee-Object OtherFile.txt >> WINRMStatus.txt

另请注意,我已将您的语句包装在使用调用运算符 ( ) 调用的脚本块( ) 中,与子表达式运算符不同的是,它保留了封闭命令的流式传输行为(而是将它们的输出一一发送到管道首先收集内存中的所有内容)。{ ... }&$(...)


推荐阅读