Я пытаюсь захватить вывод программы, а затем записать его в файл.
Запуск MyFile.exe -args > foo.txt
дает пустой файл. То же самое касается MyFile.exe -args > foo.txt 2>&1
. Если я запускаю команду как обычно, MyFile.exe -args
, вывод четко пишется в консоль.
Программа написана на C++ и пишется с использованием wprintf_s
. Кажется, она добавляет новую строку в последнюю строку, если это имеет значение.
Буду признателен за любые идеи о том, как заставить это работать. Если кто-то захочет воспроизвести:файл, который я используюиего страница на GitHub(Отчет VirusTotal).
решение1
Вы можете записать его в файл скрипта и перенаправить вывод в нужный файл.
например:echo "MyFile.exe -args" > file.sh
затем попробуйте выполнить файл скрипта и переместить вывод и ошибки файла в текстовый файл, который вам нужен
то есть)sh файл.sh >foo.txt 2>&1
Это сработает! и запишет вывод, а также ошибку исполняемого файла (файла .exe) в отдельный текстовый файл.