Visual C++ 2008 で作成したプログラムをコマンドプロンプトで実行して結果をデータファイルに保存
瀬田学舎の実習室のVisual Studio 2008 に含まれる Visual C++ 2008 のIDEでコンパイルした実行ファイルを, コマンドプロンプトで実行する方法を説明します.
ちゃんと動くことを確かめるところまでは, IDEの中から「デバッグなしで実行」でやって, 真剣に大量のデータをとるときにこの方法を使うといいんじゃないかなあ〜
コマンドプロンプトの起動
- cmdを指定してコマンドプロンプトを実行し, Visual Studio 2008のプロジェクトディレクトリ
Q:\Visual Studio 2008\Projects
に移動します.
Q:¥>cd Visual Studio 2008 Q:¥Visual Studio 2008>cd Projects
で - コマンドプロンプトが起動したときに, あらかじめこのフォルダに移動しているようにすることができます. C:\windows\system32\cmd.exeのショートカットを作り, を指定しておけばいいのです.
コマンドプロンプト上での操作
-
すでにカレントディレクトリはQ:\Visual Studio 2008\Projectsだとしましょう. 実行したいソリューションはp000, プロジェクト/実行ファイル名はrw0だとしましょう. ディレクトリp000の中の, DebugまたはReleaseディレクトリに移動します(どちらを選択してビルドしたかによります).
Q:\Visual Studio 2008\Projects>cd p000\Debug
\はキーボード/スクリーン上で¥のように表示されることがあります.
-
実行ファイル名を確認します. 拡張子.exeのファイルが実行ファイルです. (ファイル名がわかっているならこのステップは不要です)
Q:\Visual Studio 2008\Projects\p000\Debug>dir
-
上で確認した実行ファイル(例:rw0.exe)を実行します.
Q:\Visual Studio 2008\Projects\p000\Debug>rw0
標準出力に出力される(printfされる)結果をファイルrw0result1000.csvに保存するには, リダイレクトを使って次のようにします.
Q:\Visual Studio 2008\Projects>p000\Debug>rw0 > Q:\cs2\rw0result1000.csv
標準入力から入力する(scanfされる)内容は, echo とパイプを使って, 1行のコマンド内で指定することもできます.
Q:\Visual Studio 2008\Projects>p000\Debug>echo 30570823 10 | rw0 > Q:\cs2\rw0result1000.csv
-
次にExcelを起動してrw0result1000.csvを開く(そして中身を別の .xlsx ファルにペーストする)のですが, コマンドプロンプト内でコマンドを与えてExcelを起動する方法もあります.
Q:\Visual Studio 2008\Projects>p000\Debug>start Q:\cs2\rw0result1000.csv
拡張子 .csv が, 標準では Excel と関係づけられていることを利用しています.