VCでコマンドプロンプトを実行するときの質問です。

[戻る]
諸学 2005/05/15(日) 13:01:57
VCとは関係ないのですが、
WinXPのコマンドプロンプトを利用したプログラムを作っています。
そこでコマンドを実行して、その戻り値を得るコマンドが欲しいのですが
自分で探しても見つかりません。

例えば cd C:\ を実行すると


 ドライブ C のボリューム ラベルは IBM_PRELOAD で
 ボリューム シリアル番号は 4099-7392 です

 C:\ のディレクトリ
2005/04/21  14:48    <DIR>          Documents and Settings
2004/06/25  14:13    <DIR>          DRIVERS
:
:
となりますが

このときの
2004/06/25  14:13    <DIR>          DRIVERS
の情報を取得したいのです。

良い方法があれば教えてください。

Ban 2005/05/15(日) 13:46:53
> 2004/06/25  14:13    <DIR>          DRIVERS

「パイプ」とか「リダイレクト」とかで調べてみては?

どちらが適切かは、取得した情報を別のプログラムの標準入力に入れたいのか、
ファイルなどに保存したいのか、などで変わります。

出力結果からの抽出は Windows 版の grep を探してくるとか。
Windows のコマンドラインはちゃちな UNIX モドキなので、
UNIX 系のサイトも役に立つかも。

シャノン 2005/05/15(日) 18:48:30
コマンドプロンプトには内部コマンドと外部コマンドがあります。
内部コマンドとは、コマンドインタプリタ(cmd.exe)が処理するコマンド。
外部コマンドとは、それ用の外部 exe ファイルを実行するコマンドです。

dir や cd は内部コマンドなので、独立した exe は存在しません。
そのため、適切な引数を渡して cmd.exe を起動してやり、その結果を取得することにな
ります。

個人的には、FindFirstFile とかを使って、同等情報を自力で取得するほうが望ましい
と思いますが。

諸学 2005/05/15(日) 21:37:18
シャノン様
FindFirstFileどのようにしてzipファイルの中身の情報を取得すればよいのでしょう
か?
教えてください。

まきじ 2005/05/15(日) 22:05:41
「教えてください」だけじゃなくて、少しはお調べになってはどうでしょうか?
google で FindFirstFile で検索すれば山ほどでてきますが。

MSDN のを貼っておきます。
http://www.microsoft.com/japan/msdn/library/default.asp?url=/japan/msdn/library/ja/jpfileio/html/_win32_findfirstfile.asp

シャノン 2005/05/16(月) 09:33:01
zip ファイルの中身の情報?
当初の質問には、そんなことは微塵も書かれていなかった気がしますが。
それを取得したいのであれば、zip32j.dll とかを使ってみてください。
#どこにあるかは、検索して探し出してみてくださいね。

古いスレッドには追加発言できません。