Я пишу программу на C в Windows, мой printf вызывает print в командную строку, и я знаю, что могу перенаправить весь этот вывод в текстовый файл, используя:
myProgram.exe > mylog.txt
Тем не менее, я хотел бы также увидеть вывод, который был бы напечатан на консоли, а также записать все это в текстовом файле.
Есть ли способ сделать это? Я думал об использовании tail для мониторинга файла журнала.
windows
command-line
stdout
user79397
источник
источник
Ответы:
Windows PowerShell имеет инструмент, который может сделать это, названный в
tee
честь инструмента Unix, который делает то же самое.В качестве альтернативы, есть порты Unix
tee
для Windows:источник
Под Windows все, что я могу думать, это сделать это:
Это основано на примере команды в вашем вопросе - если вы действительно хотите добавить вывод к
mylog.txt
то вы хотите использовать>>
вместо>
, ноtype
распечатать весь файл журнала, а не только то, что было добавлено.Если вы загружаете GnuWin32 CoreUtils , вы можете использовать метод (
tee
команду) Unix для этого:Это запишет вывод myProgram.exe в файл,
mylog.txt
а также отобразит его на консоли одновременно. Если вы хотите добавить только к этому,mylog.txt
вы можете передать-a
параметр в tee.источник
Я использую Visual Studio Code и открываю оттуда файл журнала, он обновляет представление практически в реальном времени, так как файл журнала изменяется
источник
У меня просто была похожая потребность, и я использовал Tail, поскольку OP предположил, что они могут:
«> C: \ Temp \ Commands_Log.txt» создает файл журнала и добавляет выходные данные всех команд, расположенных внутри (круглые скобки).
Первая команда в скобках должна состоять в том, чтобы запустить хвост, который откроется в новом командном окне.
В конце эхо для незнакомых пользователей, чтобы они знали, когда все будет завершено.
источник