39Si

プログラミング関連の勉強した内容を簡単にまとめておきます

コマンドプロンプトを使う[Visual C#]

Windows で Python を組むときに 生産性を上げるためにコマンドラインで実行できるように勉強した。

環境

Windows 8.1 Pro
Visual studio 2012 for Windows Desktop

方法

1、新規のプロジェクトでコンソールアプリケーションを作成する。
2、下記のソースをメイン関数にコピーする。

//Processオブジェクトを作成
System.Diagnostics.Process p = new System.Diagnostics.Process();
//ComSpec(cmd.exe)のパスを取得して、FileNameプロパティに指定
p.StartInfo.FileName = System.Environment.GetEnvironmentVariable("ComSpec");
//出力を読み取れるようにする
p.StartInfo.UseShellExecute = false;
p.StartInfo.RedirectStandardOutput = true;
p.StartInfo.RedirectStandardInput = false;
//ウィンドウを表示しないようにする
p.StartInfo.CreateNoWindow = true;
//コマンドラインを指定("/c"は実行後閉じるために必要)
p.StartInfo.Arguments = @"/c dir c:\ /w";

//起動
p.Start();

//出力を読み取る
string results = p.StandardOutput.ReadToEnd();

//プロセス終了まで待機する
//WaitForExitはReadToEndの後である必要がある
//(親プロセス、子プロセスでブロック防止のため)
p.WaitForExit();
p.Close();

//出力された結果を表示
Console.WriteLine(results);

//入力待ち
string str = Console.ReadLine();

[結果] Cドライブのフォルダ情報が取れる

参考文献

http://dobon.net/vb/dotnet/process/standardoutput.html