我正在尝试将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不是要走的路..这是我正在使用的测试:
dir> c:\ test \ directory.txt 2>& 1
任何人都知道如何做到这一点?????
答案 0 :(得分:0)
不要让CMD输出文件,而是让Powershell命令使用Tee-Object
cmdlt执行此操作。
因此,对于您的情况,例如:
powershell ^& "'C:\Program Files\7-Zip\7z.exe'" ^| tee B:\test.log
请注意^
之前需要|
,因此它会将其传递给Powershell,而不是字面解释。
答案 1 :(得分:0)
好吧,事实证明,我找不到任何可以在命令提示符下写入2个不同输出的内容。将输出重定向到文件后,您可以重定向它。而已。我也找不到任何方法来使用命令写入屏幕。所以,我使用的解决方案是下载“TailXP”。将其安装在盒子上并将其配置为指向我正在编写的文件。这将在生成文件时读取文件,并将其写入自己的控制台屏幕。它符合我们的目的,我将它全部包含在.cmd文件中。