Saya menggunakan perintah ini untuk melihat output di konsol dan file:
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
Ini bekerja tidak sebaik yang saya harapkan dan saya punya beberapa pertanyaan:
- Bagaimana cara mengarahkan stderr juga ke file?
Outputnya bekerja sangat aneh. Untuk beberapa perintah ada penundaan besar antara teks dicetak dan konsol / file diperbarui. Untuk beberapa perintah lain, output tampak diperbarui ketika teks dicetak (saya menjalankan perintah tanpa tee dan saya tahu apa yang harus dicetak). Penundaan ini membuat tee ini hampir tidak berguna - bagaimana jika beberapa kesalahan kritis akan dicetak sehingga saya perlu menghentikan perintah, tetapi saya tidak akan melihat apa pun sampai semuanya terlambat?
Untuk beberapa perintah, output dicetak hanya setelah perintah lengkap dilakukan.
- Selain itu, bahkan jika perintah meminta input pengguna, output konsol / file kosong! Untuk perintah itu saya tahu apa yang diharapkan dan secara membuta mencetak teks yang diperlukan dan itu berhasil, tetapi untuk yang lain - tanpa output saya akan menunggu sesuatu terjadi tanpa batas sementara perintah akan menunggu input saya!
Apakah ada solusi untuk masalah ini? Jika tidak, tee tee di PowerShell ini sama sekali tidak berguna.