【问题标题】:How to write Command Prompt to a file AND to the screen at the same time如何将命令提示符同时写入文件和屏幕
【发布时间】:2012-05-20 09:35:31
【问题描述】:

我正在尝试将 powershell 命令的输出写入文件。我已经完成了:

powershell psake "Dev08, Deploy-things" >> C:\Deployments\DeploymentLog.txt 2>&1

这是将所有屏幕输出转储到一个文件中......太棒了!

现在,我也希望它也转储到控制台屏幕。我使用了参数 >CON 但它会将所有内容转储到屏幕上,而不是文件。

powershell psake "Dev08, Deploy-things" >> C:\Deployments\DeploymentLog.txt 2>&1 >CON

也许 >CON 不是要走的路。这是我正在使用的测试:

目录> c:\test\directory.txt 2>&1

有人知道怎么做吗????

【问题讨论】:

    标签: command dos prompt


    【解决方案1】:

    好吧,事实证明,我找不到任何可以在命令提示符中写入 2 个不同输出的内容。将输出重定向到文件后,就可以重定向它。而已。我也找不到任何使用命令写入屏幕的方法。所以,我使用的解决方案是下载“TailXP”。将其安装在盒子上并将其配置为指向我正在编写的文件。这将在生成文件时读取文件并将其写入自己的控制台屏幕。它达到了我们的目的,我将它们全部打包在一个 .cmd 文件中。

    【讨论】:

      【解决方案2】:

      不要让 CMD 输出文件,而是让您的 Powershell 命令使用 Tee-Object cmdlt 来完成。

      所以对于你的情况,类似:

      powershell ^& "'C:\Program Files\7-Zip\7z.exe'" ^| tee B:\test.log

      请注意,^| 之前是必需的,因此它将它传递给 Powershell,而不是按字面解释。

      【讨论】:

      • 这真的很棒,我会把它放在我的笔记里,但不幸的是,Powershell 调用了不同的命令(.exe)来写入屏幕,所以使用它不会完全抓住一切。如果它是一个直接的 PS 命令,这将很好地工作。感谢您提供此信息。还有其他人知道如何通过命令提示符执行此操作吗?
      • 嗯,我尝试了一些从 cmd 到 Powershell 的外部 .exes,效果很好,所以你确定你的语法正确吗?我不得不在外部 .exe 上使用 Powershells 呼叫运算符,但为了不抱怨,我没有第一次调整我的答案(更新)。如果不是,可能某些可执行文件的输出不同。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-03-08
      • 1970-01-01
      • 1970-01-01
      • 2014-09-08
      • 2017-10-01
      相关资源
      最近更新 更多