Wyjście pojawia się w konsoli, ale znika po przekierowaniu do pliku

Używam narzędzia, które testuje dyski twarde, fstest.exe. Działa dobrze z wiersza poleceń, wyświetlając, ile czasu zajęło wykonanie różnych zadań tworzenia / usuwania / usuwania plików. Zwykłe wyjście po uruchomieniu z linii poleceń jakofstest.exe otherParams, wygląda tak:

---
CPU Usage: 0.0%
Disk reads/sec: 0
Disk writes/sec: 0
Disk bytes/read: 0
Disk bytes/write: 0
Test duration: 0 milliseconds, 1153 ticks (3507177 ticks/sec)
---

Problem polega na tym, że gdy przekierowuję dane wyjściowe do pliku, nic nie wyświetla:

fstest.exe otherParams > out.txt tworzy pusty plik out.txt, nawet jeśli polecenie zostało wykonane poprawnie (i utworzyło kilka plików testowych w ramach jego wykonania).

Jak mogę zmusić tę aplikację do przekierowania danych wyjściowych do pliku? Próbowałem przyjrzeć się temu bliżej za pomocą PowerShell (poprzez Start-Process), a strumienie standardowego i standardowego błędu są po prostu puste.

Inne rzeczy, które próbowałem:

cmd /c "fstest.exe otherParams > out.txt"

fstest.exe otherParams 2>&1 >> out.txt

fstest.exe otherParams | sort

powershell Start-Process -FilePath .\fstest.exe -ArgumentList @("create2", "-openexisting") -RedirectStandardOutput out.txt -RedirectStandardError err.txt -wait

(Tworzy to zarówno out.txt, jak i err.txt, oba puste.)

Co spowodowałoby zmianę aplikacji w zależności od tego, czy została przekierowana, i czy jest jakiś sposób, aby przekierować ją do pliku?

AKTUALIZACJA: Mam ręce na kod źródłowy. To C ++, a wyjście jest prosteprintf sprawozdania.

questionAnswers(3)

yourAnswerToTheQuestion