- PR -

C#のコンソールアプリについて

投稿者投稿内容
VitaminLemon
常連さん
会議室デビュー日: 2005/04/08
投稿数: 40
投稿日時: 2005-04-08 11:11
お世話になっております。
C#でコンソールアプリを作成し実行したときに表示されているDOS画面に
DOSコマンドを渡すにはどうすればいいのでしょうか???
C++ではint system( const char *command );という関数をしようして
DOSコマンドを実行していたのですが、C#には同じような機能の関数は存在するのでしょうか???

HPなどで調べて
System.Diagnostics.Process
System.Diagnostics.ProcessStartInfo
とかなどで別に起動して結果をとってくるみたいなのは載っていたのですが
いまいち現在実行中のDOS画面で実行するのが見つからなくて。

誰かアドバイスをお願いします。
Jubei
ぬし
会議室デビュー日: 2002/03/02
投稿数: 830
お住まい・勤務地: 関西
投稿日時: 2005-04-08 13:13
諸農です。

もしかしたらはずしているかもしれませんが、

コード:
Process p = new Process();
p.StartInfo.FileName = "CMD.EXE";
p.StartInfo.RedirectStandardInput = true;
p.StartInfo.RedirectStandardOutput = true;
p.StartInfo.UseShellExecute = false;
p.Start();

p.StandardInput.WriteLine("FTP");
Console.WriteLine(p.StandardOutput.ReadLine());
p.StandardInput.WriteLine("bye");
Console.WriteLine(p.StandardOutput.ReadLine());



見たいな感じでしょうか。

_________________
諸農和岳
Powered by Turbo Delphi & Microsoft Visual Studio 2005

十兵衛@わんくま同盟
http://blogs.wankuma.com/jubei/
VitaminLemon
常連さん
会議室デビュー日: 2005/04/08
投稿数: 40
投稿日時: 2005-04-08 13:27
返答ありがとうございます。

その方法は探していく中で発見したんですが、その方法って
今起動しているDOSではなく別にDOSを起動(ウィンドウは起動しない)し、
起動するときにコマンド引数を渡し、その結果をp.StandardOutput.ReadLine()で
取得してWriteLineで今起動しているDOS画面に表示する方法なんですよね?
それではなく今起動しているDOSにコマンドを送りたいんです。

例えば
1.WriteLineで文字列を出力する。
2.DOS画面に文字列が表示される。
3.DOS画面に表示されている文字列をDOSコマンドの”CLS”を使って消去。
これをVC++のコンソールアプリで作成した時には
System("CLS");で今起動しているDOSにコマンドを渡せたんです。
これと同じような関数はC#には存在しないんでしょうか?
または、他にいい方法はないのでしょうか?
一郎
ぬし
会議室デビュー日: 2002/10/11
投稿数: 1081
投稿日時: 2005-04-08 18:42
引用:

未記入さんの書き込み (2005-04-08 13:27) より:
それではなく今起動しているDOSにコマンドを送りたいんです。



DOSって言ってるのはDOSのシェルのことですか?(command.comでしたっけ)
.NETのコンソールアプリも、同じような黒い画面ですけどシェルが起動しているわけではないと思うんですが。

あれ、でもそうするとVC++のプログラムだとなんでできたんでしょうね。

VitaminLemon
常連さん
会議室デビュー日: 2005/04/08
投稿数: 40
投稿日時: 2005-04-11 09:40
返答ありがとうございます。

コンソールアプリケーションを作成した場合の出力って
何になるんですか???
Windows上ではコマンドプロンプトが表示されるじゃないですか、
あれってどうなってるんですか???
VitaminLemon
常連さん
会議室デビュー日: 2005/04/08
投稿数: 40
投稿日時: 2005-04-11 11:16
いろいろとありがとうございました。

なんとか実行することができました。
いろいろとありがとうございました。
VitaminLemon
常連さん
会議室デビュー日: 2005/04/08
投稿数: 40
投稿日時: 2005-04-11 11:20
いろいろとありがとうございました。

なんとか実行することができました。
いろいろとありがとうございました。
VitaminLemon
常連さん
会議室デビュー日: 2005/04/08
投稿数: 40
投稿日時: 2005-04-11 11:20
いろいろとありがとうございました。

なんとか実行することができました。
いろいろとありがとうございました。

スキルアップ/キャリアアップ(JOB@IT)