• ベストアンサー

【C#】 DOSコマンドを使いたい

Visual Stadio.NET 2003 C#で開発中です。 質問したい内容は、プログラムからコマンドプロンプトを操作をすることなんですが、 例えば、(コマンドプロンプトの画面で) d: cd a とやるようなコードを教えて下さい。 一行だけのコマンドならネット上にもあったのですが、複数行続けて打つようなやり方を見つけられなかったので、宜しくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
  • HIROs-NET
  • ベストアンサー率78% (15/19)
回答No.2

string[] strCmds = {@"/c dir c:\*.* /w", @"/c dir c:\work /w"}; for ( int i = 0; strCmds.Length; i++ ) { psi.Arguments = strCmds[i]; System.Diagnostics.Process p = System.Diagnostics.Process.Start(psi); string results = p.StandardOutput.ReadToEnd(); p.WaitForExit(); Console.WriteLine(results); } といった感じでしょうか。(一部抜粋したコードです。 あとはDOBONさんのところを参照ください) 私の環境で、動作を確認しています。

yukari87
質問者

お礼

すみません。遅くなりましたができました。ありがとうございました。

その他の回答 (1)

  • HIROs-NET
  • ベストアンサー率78% (15/19)
回答No.1

1行だけのコマンドの実行方法はわかるということなので、 その部分のコマンドを実行する個所を配列変数にして、繰り返し実行するというのはどうでしょうか? string[] strCmds = {"d:", "cd a"}; for ( int i = 0; i < strCmd.Length; i++ ) { //コマンドを実行するコードをここに記述 }

参考URL:
http://dobon.net/vb/dotnet/process/standardoutput.html
yukari87
質問者

補足

すみません。できませんでした。↑のURLも参考にさせてもらったんですが… 申し訳ないのですがコードを教えてもらえないでしょうか?

関連するQ&A

専門家に質問してみよう