.exe 出力をファイルにリダイレクトできません

.exe 出力をファイルにリダイレクトできません

プログラムの出力をキャプチャしてファイルに書き込もうとしています。

を実行すると、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 ファイル) の出力とエラーが別のテキスト ファイルに書き込まれます。

関連情報