Saya sedang menulis program C di Windows, panggilan printf saya mencetak ke baris perintah, dan saya tahu bahwa saya dapat mengarahkan semua output ini ke file teks menggunakan:
myProgram.exe > mylog.txt
Namun, saya juga ingin melihat output yang akan dicetak ke konsol serta mencatat semuanya dalam file teks.
Apakah ada cara untuk melakukan ini? Saya sedang berpikir untuk menggunakan ekor untuk memonitor file log.
windows
command-line
stdout
pengguna79397
sumber
sumber
Jawaban:
Windows PowerShell memiliki alat yang dapat melakukan itu, dinamai
tee
alat unix yang melakukan hal yang sama.Atau, ada port unix
tee
untuk windows:sumber
Di bawah Windows yang bisa saya pikirkan adalah melakukan ini:
Ini didasarkan pada contoh perintah dalam pertanyaan Anda - jika sebenarnya Anda ingin menambahkan output untuk
mylog.txt
kemudian Anda ingin menggunakan>>
alih-alih>
, tetapitype
akan mencetak seluruh file log, bukan hanya apa yang telah ditambahkan.Jika Anda mengunduh GnuWin32 CoreUtils , Anda dapat menggunakan metode (
tee
perintah) Unix untuk melakukan ini:Ini akan menulis output myProgram.exe
mylog.txt
tetapi juga menampilkannya ke konsol secara bersamaan. Jika Anda hanya ingin menambahkanmylog.txt
maka Anda dapat meneruskan-a
parameter ke tee.sumber
Saya menggunakan Visual Studio Code dan membuka file log dari sana, itu membuat tampilan up to date dalam waktu dekat saat perubahan file log
sumber
Saya hanya memiliki kebutuhan yang sama dan menggunakan Tail seperti yang disarankan OP:
"> C: \ Temp \ Commands_Log.txt" membuat file log dan menambahkan output dari semua perintah yang terletak di dalam (tanda kurung).
Perintah pertama di dalam tanda kurung harus memulai Tail, yang akan terbuka di jendela perintah baru.
Gema pada akhirnya adalah untuk pengguna yang tidak terbiasa untuk memberi tahu mereka ketika semuanya selesai.
sumber