이 명령을 사용하여 콘솔과 파일 모두에서 출력을 볼 수 있습니다.
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
예상대로 작동하지 않으며 몇 가지 질문이 있습니다.
- stderr을 파일로 리디렉션하는 방법은 무엇입니까?
출력이 매우 이상하게 작동합니다. 일부 명령의 경우 텍스트가 인쇄되고 콘솔 / 파일이 업데이트되는 데 상당한 지연이 있습니다. 다른 명령의 경우 텍스트가 인쇄 될 때 출력이 업데이트 된 것으로 보입니다 (티없이 명령을 실행하고 인쇄 해야하는 것을 알고 있습니다). 이 지연은이 티를 거의 쓸모 없게 만듭니다. 중대한 오류가 인쇄되어 명령을 중지해야하는데 너무 늦을 때까지 아무것도 보이지 않습니까?
일부 명령의 경우 출력은 전체 명령이 완료된 후에 만 인쇄됩니다.
- 또한 명령이 사용자 입력을 요구하더라도 콘솔 / 파일 출력은 비어 있습니다! 그 명령을 위해 나는 그것이 필요한 것을 알고 맹목적으로 필요한 텍스트를 인쇄하고 작동했지만 다른 사람들에게는-출력이 없으면 명령이 내 입력을 기다리는 동안 무언가가 무한정 기다릴 것입니다!
이러한 문제에 대한 해결책이 있습니까? 그렇지 않은 경우 PowerShell의이 티는 완전히 쓸모가 없습니다.
수천 개의 스크립트에 사용 된 도구는 특정 요구 사항을 충족하지 못할 수 있기 때문에 "완전히 쓸모가 없다"고 생각합니다.
—
Stephen Jennings
맞아, 나는이 특별한 경우에는 쓸모가 없다는 것을 의미한다. :) 나쁜 문제가있을 것보다 티를 혼자 두는 것이 좋습니다.
—
경주 1