C#でコンソールの入力・出力・エラーがリダイレクトされているかどうかを確認する方法
C#では、Consoleクラスに用意されたプロパティを使うことで、標準入力・標準出力・標準エラー出力がそれぞれリダイレクトされているかどうかを簡単に確認できます。本記事では、IsInputRedirected、IsOutputRedirected、IsErrorRedirected の3つのプロパティの使い方を、サンプルコードと実行結果とともに解説します。
入力がリダイレクトされているかどうかを確認する
標準入力がリダイレクトされているかどうかを調べるには、Console.IsInputRedirected プロパティを使用します。
サンプルコード
using System;
public class Demo {
public static void Main(string[] args) {
Console.WriteLine("Input Redirected? = " + Console.IsInputRedirected);
}
}実行結果
Input Redirected? = False
この例では、標準入力がリダイレクトされていないため「False」が出力されます。キーボードではなくファイルやパイプから入力を受け取っている場合は「True」が返されます。
出力がリダイレクトされているかどうかを確認する
標準出力がリダイレクトされているかどうかを調べるには、Console.IsOutputRedirected プロパティを使用します。
サンプルコード
using System;
public class Demo {
public static void Main(string[] args) {
Console.WriteLine("Output Redirected? = " + Console.IsOutputRedirected);
}
}実行結果
Output Redirected? = False
通常どおりコンソール画面へ出力している場合は「False」になります。出力先をファイルなどへ変更している場合(例:program.exe > output.txt)は「True」が返されます。
エラー出力がリダイレクトされているかどうかを確認する
標準エラー出力がリダイレクトされているかどうかを調べるには、Console.IsErrorRedirected プロパティを使用します。
サンプルコード
using System;
public class Demo {
public static void Main(string[] args) {
Console.WriteLine("Error Redirected on Console? = " + Console.IsErrorRedirected);
}
}実行結果
Error Redirected on Console? = True
この例では、標準エラー出力がリダイレクトされているため「True」が出力されています。
まとめ
Consoleクラスのこれらのプロパティは、プログラムが対話的なコンソール環境で動作しているのか、あるいはパイプやファイル経由で入出力を行っているのかを判定したい場合に非常に便利です。たとえば、バッチ処理時とユーザーが直接操作する場合とで動作を切り替えたいシナリオなどで活用できます。
-
Wordの「作業ファイルを作成できませんでした。Temp環境変数を確認してください」エラーを解決する7つの方法
Wordを他のプログラムと連携させようとした際に、「Wordは作業ファイルを作成できませんでした。一時環境変数を確認してください(Word could not create the work file, check the temp environment variable)」というエラーが表示された場合は、この記事で紹介する対処法を試してみてください。このエラーは、Windows 11/10/8/7環境におけるMicrosoft Office製品(Word、Excel、PowerPointなど)のどのバージョンでも発生する可能性があります。ここでは例としてWordを取り上げますが、同様の手順
-
Windowsで「NVIDIA出力が接続されていません」エラーを修正する方法
本記事では、コントロールパネルのサウンド設定にある「再生」タブで、NVIDIAのオーディオ出力デバイスが「接続されていません」と表示される問題について解説します。この問題が発生すると、HDMI出力から音声を出力することもできなくなります。このトラブルに対して使える対処法はそれほど多くありませんが、以下で紹介する方法は、実際に多くのユーザーによって効果が確認されたものばかりです。ぜひ順番に試してみてください。Windowsで「NVIDIA出力が接続されていない」エラーが発生する原因この問題はサウンド設定の中に現れますが、その本当の原因はNVIDIAグラフィックドライバーにあります。ドライバーの入