コマンドプロンプトのプログラムパスを取得する

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);