バッチファイルやシェルコマンドの実行結果は、標準出力(C言語でいうとstdout)だけでなく、ちゃんと標準エラー(同様にstderr)もリダイレクトすることができます。

つまり、hoge.txtが存在するとき、

とすれば、問題ありませんが、hoge.txtが存在しない場合は、result.txtには何もリダイレクトされません。
そこで、

とすることで、hoge.txtが存在しない場合、result.txtには、
「ファイルが見つかりません」
とリダイレクトされることがわかります。DOSもそこそこUNIXライクに設計&実装されているようです。