コマンドプロンプトのプログラムパスを取得する
SPECIAL
コマンドプロンプトのプログラムパスを取得する
Windows には、コマンドを実行するためのコマンドインタープリターが搭載されています。
いわゆる "DOS プロンプト" や "コマンドプロンプト" と呼ばれるものがそれですけれど、これらの機能を担う実際のプログラムは "command.com" だったり "cmd.exe" だったりと、OS 環境によってプログラム名が異なってきます。
現在の環境におけるコマンドインタープリターのパスは、環境変数 "ComSpec" に記録されています。この値を参照すれば、どのプログラムを起動すればコマンドインタープリターを利用できるかが判ります。
C# でコマンドインタープリターを起動する
例えば Visual C# 2008 で、コマンドインタープリターのパスは、次のようにして取得することができます。
System.Environment.GetEnvironmentVariable("ComSpec")
このようにすることで、"ComSpec" 環境変数の値を取得できます。
コマンドプロンプトを起動させたい場合には、例えば次のようにすると、画面上にコマンドプロンプトが表示されます。
String command = System.Environment.GetEnvironmentVariable("ComSpec");
String parameters = null;
System.Diagnostics.Process.Start(command, parameters);