小编rac*_*ce1的帖子

PowerShell 和 T 恤

我使用此命令查看控制台和文件中的输出:

powershell -command "my_command_1 | tee ('logs\{0}.log' -f (Get-Date -format 'yyyy.MM.dd-HH.mm'))"  
powershell -command "my_command_2 | tee ('logs\{0}.log' -f (Get-Date -format 'yyyy.MM.dd-HH.mm'))"
# etc
Run Code Online (Sandbox Code Playgroud)

它的效果没有我预期的那么好,我有一些问题:

  1. 如何将 stderr 也重定向到文件?
  2. 输出工作非常奇怪。对于某些命令,在打印文本和更新控制台/文件之间存在巨大的延迟。对于其他一些命令,输出似乎在打印文本时更新(我运行没有 tee 的命令,我知道它应该打印什么)。这种延迟使这款 T 恤几乎毫无用处 - 如果将打印一些严重错误,因此我需要停止该命令,但我什么也看不到,直到为时已晚怎么办?

    对于某些命令,仅在完成完整命令后才会打印输出。

  3. 此外,即使命令要求用户输入,控制台/文件输出也是空的!对于那个命令,我知道它期望什么并盲目地打印所需的文本并且它起作用了,但是对于其他人 - 如果没有输出,我将无限等待某些事情发生,而命令将等待我的输入!

这些问题有解决方案吗?如果没有,PowerShell 中的这个 tee 东西是完全没用的。

powershell stderr tee

10
推荐指数
1
解决办法
7439
查看次数

标签 统计

powershell ×1

stderr ×1

tee ×1