
MS-DOSプロンプトで dir と入力すれば、フォルダ内の
様子がMS-DOSプロンプトに表示されるけど、
C++ で、MS-DOSプロンプトで dir と入力したのと同じ
様にするにはどういうプログラムを作ればいいのですか?
別の言い方で書くと、実行すればMS-DOSプロンプトが
起動し、dir と入力されて dirコマンドが実行される
というファイルを作るソースが知りたいんです。
dirコマンドが実行される対象となるディレクトリは
どこでもいいんです。
C++ のプログラムでも、ディレクトリ構造を出力することが
出来ると思うんだけど、MS-DOSプロンプトでやってみたいんです。
どうしてそんなことがしたいのかというと、C++ が難しそうだから
という理由なんです。
例えば、ファイルコピーを自動化するプログラムを作る時、
C++ のプログラムの出力をMS-DOSプロンプトへ渡す方法を知っていれば、
MS-DOSプロンプトでのコピーは copy コピー元 コピー先
という簡単な書式だから、ファイルコピーを自動化するプログラムも
簡単に作れそうだなと思ったんです。
No.3ベストアンサー
- 回答日時:
Borland系であれば、
#include <stdlib.h>
#include <cstring.h>
int main(int, char** argv)
{
*argv++; // まず自分のプログラム名はパス
// 後々の独自の拡張を考えてMemcopy などは使わない
string s="dir ";
while (*argv) {
s += *argv++;
s += ' ';
}
system(s.c_str());
return 0;
}
#include <cstring.h>
は
#include <string>
が現在は本流。
この回答への補足
ソースをコンパイルして実行して、DIRの結果が表示されました。
短いけど難しいソースなんですねー。
MS-DOSプロンプトを使う原型が分かりました。
ありがとうございます。
ありがとうございます。
ソースを教えてもらえないと分からないんです。
教えていただいたソースはこの後試してみて
結果をまたここに書きます。
No.2
- 回答日時:
質問の文章を読んでいて思ったのですが、
MS-DOSプロンプト=C言語
C++言語=Windowアプリ
と思ってやしませんか?
C++言語でコンソールアプリを書くこともできますよ。
且つ、VC++に関して言えば(VC++5では辛いけど)VC++6ではMFCを使ったコンソールアプリも簡単に出来ます。
No.1
- 回答日時:
1.バッチファイル経由
DIRコマンドを記述したバッチファイルを作成
ShellExecuteなどで作成したバッチファイルを起動
(バッチファイルを動的に作ればどんな処理でも可能)
2.system()関数
Cの標準関数systen()にMS-DOSコマンドを引数で渡す
(MS-DOSプロンプトのウィンドウは表示されない)
3.command.comを直接起動
MS-DOSコマンドはcommand.comと言うプログラムが処理するのでcommand.comに直接コマンドを渡せば実行可能。
command.comはCreateProcess()で起動。
etc...
方法はいくらでもあります。
以下,老婆心ながら…
コピーならCopyFile(),ディレクトリリストならFindFirst()FindNext()FindClose()など便利なAPIがいっぱいあるのでそれを使って自前でウィンドウ描画した方がエラー処理とか楽です。
MD-DOSプロンプトでエラーが起こった時に対応するのは大事ですから。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Windows 7 Windows7でMicrosoft VirtualPC2007 SP1を使用する 9 2022/11/17 13:12
- Visual Basic(VBA) dosプロンプトから、a.txt+b.txt=c.txt て出来ますか? 4 2022/07/27 22:10
- その他(OS) WindowsとMS-DOSの違いって何ですか? 5 2022/10/26 02:19
- その他(プログラミング・Web制作) 複数のテキストファイルの結合方法 2 2022/05/14 23:58
- UNIX・Linux Linuxについて質問です。 以下のような設定をしたMakefileを作成するにはどう記述すればよい 1 2023/02/03 20:10
- その他(ブラウザ) 動画の切り抜きをしています。保存の時に、アクセス許可がないとメッセージが出て、保存出来ません。試した 2 2022/05/30 09:56
- Visual Basic(VBA) VBA★PDFをPDFアプリで印刷しようと思っていますが上手くゆきません 1 2022/06/06 22:04
- モニター・ディスプレイ 画像解像度について 4 2022/05/30 16:05
- Visual Basic(VBA) エクセルのマクロについて教えてください。 3 2023/07/01 12:54
- C言語・C++・C# exeファイルが作れない(windows10) 6 2022/08/13 08:47
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
javaの中で環境変数を設定する。
-
実行が出来ません・・
-
javacの実行ができません
-
VBプログラムから「管理者とし...
-
Java 特定プロセス名前取得方法...
-
FAT32→NTFS変換がうまくいきません
-
javaのコマンドを監視・制御っ...
-
SYSTEM関数等を用いて複数のコ...
-
Java VM のヒープサイズについて
-
J2EE RI とは?
-
32bitアプリから64bitアプリの...
-
Javaアプリケーションをフリー...
-
コマンドプロンプトの実行
-
ShellExecuteの使い方について
-
MacOS:ターミナルではNPMのコ...
-
Eclipseで、プロジェクト名のと...
-
JSPからServletへの遷移
-
Eclipse(JAVA)のデバッグで他...
-
マイクラjavaでForgeを入れたい...
-
正しいURL指定しているにもかか...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
MacOS:ターミナルではNPMのコ...
-
VBプログラムから「管理者とし...
-
batよりjava起動
-
ACCESSでタイトルバーを非表示...
-
ShellExecuteの使い方について
-
windowsのタスクスケジューラを...
-
C# コマンドプロンプト画面で表...
-
32bitアプリから64bitアプリの...
-
SYSTEM関数等を用いて複数のコ...
-
jarファイルをバッチで実行させ...
-
コマンドを実行してコマンドラ...
-
バッチファイルの書き方について
-
Java JDK1.3のインストールとpa...
-
CloudSticky.jarが起動しない。
-
Tomcatのメモリー使用量が知りたい
-
EclipseのJAVADOC生成機能について
-
コマンドプロンプトが使えない
-
実行したらがメモ帳出て来てしまう
-
VB6.0 ラベルが文字化け
-
ShellExecuteでDOSコマンド実行...
おすすめ情報