天使と悪魔選手権

私、Microsoft Visual C++2010 Express を使用し勉強しているビギナーです。
文字数に制約があるとおもいますので、要点だけ記します。
コマンドプロンプトを操作する過程で、「〇〇〇は内部コマンド、操作可能なプログラム又はバッチファイルに認識されていません」メッセージがあり、各サイトを検索したところ、「環境変数 Path」を追記設定しなければならないという事が解りましたが、初めてなものですから、どの様に追記するのかが解りません、具体的にご教授頂ければと思い投稿しました。

ディレクトリの過程は、C:\User\YUZO>Documents>Visual Studio 2010>
Projects>Sample>Sample>となっていまして最後のSample>の中に、System1.cppというファイルを作成しています。同様にSampleとは別のプロジェクトに、C:\User\YUZO>---中略---Projects>Test>Test>の中に、Main1.cppというファイルを作成しており、両方共、上記のメッセージが表示されます。

「環境設定」を開くとデフォルトでPathは、全部表示させたところ、次の様になっていました。「Microsoft SQL Server\100\Tool\Binn;C:\Program Files\Microsoft SQL Server\100\DTS\Binn\」ここに私の場合どの様に追記すれば良いのか、具体的に教えて下さい。説明に不備があるとは思いますが宜しくお願い致します。

OS---Windows7

A 回答 (7件)

>お薦めの「C++」の入門書をご存じでしたら



C++は私もちゃんと習得していませんからねぇ。
なんとなくで読めるけど自分でコード書けるほどじゃないし。

で、書籍に関しては……大きめな本屋に行って数冊の内容を立ち読みで確認し、
自分に合っていそうだな。
と思われる本を2~3冊購入してみる。
としか言えませんね。
なかには今回のような標準関数の扱いについてあやしいものもあるかも知れませんし。
そういう意味でも複数。ある程度身についたら別系統のもの…とか。
# ちなみに私は機能逆引き系とかそういうの好む傾向がありますな。
# C#でこういう機能を実装したいときのコーディング例…とか、こういうコード書くとこんな問題がある…とか。
そこそこ評価のよい著者のものを購入する。ということもありますかね。
# アマゾンとかのユーザレビューも参考になるかも知れません。(ただし、全部が信頼できるレビューというワケでもない場合があるので割り引いて読んだ方がいいかもしれませんが)
安い買い物でもないし。
# 1000円以下だと疑って掛かる。1000円~3000円位だと購入検討する。3000円超えると…結構悩む(買うこともあるが)。
# 入門書代わりにムック本を買うことはありますかねぇ。日経ソフトウェアのとか。

他には…言語だけでなく環境に関する理解なんかも必要かも知れませんね。
「ファイルはあるのにオープンできないのはなんで?」「カレントディレクトリってなんのこと?」「相対パスってなに?」
とか、ツッコミどころあるような理解だとどうにもなりませんし。
あとは、統合開発環境の使い方とか…でしょうかねぇ。
こっちは書籍よりWebで探した方がいいかもしれませんけど。
# Visual StudioならMSのページとかにも載っていたりしますし。
書籍だと突っ込んだ操作方法とか載っていないイメージが。
# 今回のような1ソリューションに複数プロジェクトとか。
    • good
    • 0
この回答へのお礼

Wr5 様
ご教授通りに進めましたところ、見事書籍通りの実行結果が得られました。最後までお付き合い頂きまして、本当に有難うございました。教本の件参考にさせてもらいます。又お世話になるかも知れませんがその節は宜しくお願い致します。重ね重ね、有難うございました。感謝致します。

お礼日時:2014/09/23 13:10

VC++ 2010 EEを起動。


[ファイル][新規作成][プロジェクト]で「Win32 コンソールアプリケーション」を選択。
ソリューション名に「qa8760128」を、名前に「WINDOWSMain1」を指定して[OK]。
アプリケーションウィザードが起動するので、[次へ>]。
アプリケーションの設定が開くので「コンソールアプリケーション」を選択、「空のプロジェクト」にチェックを付けて[完了]。
ソリューションエクスプローラから、[WINDOWSMain1]の[ソースファイル]を右クリックして、[追加][新しい項目]をクリック。
「C++ ファイル」を選択して、名前に「Main1.cpp」を入力して[追加]。
開いたコードエディットにMain1.cppの内容を入力して保存。

ソリューションエクスプローラのソリューション名のところで右クリックして、[追加][新しいプロジェクト]を選択。
「Win32 コンソールアプリケーション」を選択して、名前に「Sample」を指定して[OK]。
アプリケーションウィザードが起動するので、[次へ>]。
アプリケーションの設定が開くので「コンソールアプリケーション」を選択、「空のプロジェクト」にチェックを付けて[完了]。
ソリューションエクスプローラから、[Sample]の[ソースファイル]を右クリックして、[追加][新しい項目]をクリック。
「C++ ファイル」を選択して、名前に「System1.cpp」を入力して[追加]。
開いたコードエディットにSystem1.cppの内容を入力して保存。

んで、ソリューションエクスプローラのソリューション名のところで右クリックして、[ソリューションのビルド]を実行すれば、~\Visual Studio 2010\Projects\qa8760128\Debugに
実行ファイルが2つ出来ているでしょう。
Sample.exeを実行すれば、同フォルダにあるWINDOWSMain1.exeがsystem()で呼ばれます。

デフォルトだと「設定したプロジェクト名」が出力される実行ファイル名に関連付きますので、
>(従ってSampleとTestというプロジェクトにわけました)
とすると、System1.cppが想定するWINDOWSMain1.exeが存在しません。


まぁ、System1.cppでの期待動作するかどうかは微妙かも知れませんけど。
http://msdn.microsoft.com/ja-jp/library/277bwbdz …
# コマンドインタープリンタ(cmd.exeか?)が見つからないと「プログラムは正常に実行されました。」が表示される。
# 見つかると実行結果に関わらず「実行に失敗しました!」が表示される。
# http://linuxjm.sourceforge.jp/html/LDP_man-pages …
# Linuxでもおおむね同様ですね。作者の意図が読めん…。
# というか標準関数の使い方でイマイチな面が見えたので…私ならその書籍は使わないでしょうな。

この回答への補足

Wr5様
有難うございます。回答をプリントアウトし、後日ゆっくりとご教授通り実行してみます。最後にもう一つお願いがあります、私のような者に、お薦めの「C++」の入門書をご存じでしたら、是非
教えてください。

補足日時:2014/09/22 17:04
    • good
    • 0

>C:\Users\YUZO\Documents\Visual Studio 2010\Projects\Sample\Debug>Sample


>'WINDOWSMain1' は、内部コマンドまたは外部コマンド、
>操作可能なプログラムまたはバッチ ファイルとして認識されていません。
>実行に失敗しました!

正しく実行ファイルを指定しているのにこの表示…というのは、どうにも……。
あとはどういうコードなのか…って問題なんですかねぇ。

で…ググると……
「ロベールのC++入門講座」って書籍…ですかね?

Sample.exeからWINDOWSMain1.exeをsystem()関数で呼び出す。
みたいな。
それなら環境変数pathの問題ではなく、Sample.exeとWINDOWSMain1.exeを同じフォルダに置いてください。
# system()関数でのコマンド検索にpathは関係しますが、『今回のような例でpathに追加することはありません。』
# system()で呼び出す際にフルパスで指定する。という対応を取る方が確実でしょう。
# 実行ファイル名だけだと「カレントディレクトリ」から探すでしょうし。(OSに依存はしますけどね)

なお…ビルド時の実行ファイルの出力先はプロジェクトのプロパティで指定できます。
Sample.exeとWINDOWSMain1.exeが別々のソリューションだと面倒なことになりますが。
# 「VC2010 ソリューション 複数のプロジェクト」辺りで検索してください。

この回答への補足

度々お世話になり有難うございます。ビギナーの私には、ますます解らなくなっています。ご指摘のように書籍は「ロベール--」です、「初心者~」とうたっていますが、わたしには全くそう思えません。今回の件も、Main1.cppを実行し、実行に失敗したか成功したかを出力するのにSystem1.cppを実行すると、実行結果が得られるというもの(としか、私には読解できませんでした)そのコードを下欄に添付しますが、両方にmain()がありますので
同じ「プロジェクト」に置くと「エラー」になってしまう(従ってSampleとTestというプロジェクトにわけました)、(この程度は私にも解ります)ではどうするのか?と言う事が全く記述されていません。以下に「コード」を添付します。

[Main1.cpp]
#include <iostream>
#include <cstdlib>
using namespace std;

int main(){
int n;
cin >> n;
return cin.fail() ? EXIT_FAILURE : EXIT_SUCCESS;
}

[System1.cpp]
#include <iostream>
#include <cstdlib>
using namespace std;

#ifdef WINDOWS
#define CURRENT
#else
#define CURRENT "WINDOWS"
#endif

const char FILENAME[] = CURRENT "Main1";

int main(){
if(system(FILENAME) == 0){
cout << "プログラムは正常に実行されました。" << endl;
return EXIT_SUCCESS;
} else {
cerr << "実行に失敗しました!" << endl;
return EXIT_FAILURE;
}
}

Wr5 様はたいへんお詳しい方なので、甘えさせて頂きますが、お解りになりましたら、どの様にすれば実行出来るのか、私のようなビギナー(超が付くビギナーです)にも解るように(具体的に)ご教授して頂けると幸いです。

補足日時:2014/09/22 13:34
    • good
    • 0

>C:\Users\YUZO\documents\visual studio 2010\Projects\Sample\Debug\Sample.exe


が実行ファイルなので、
>cd Debug
>Sample.exe
の時点で実行されているはず…ですが?
コンソールアプリなのか通常のアプリなのかは不明ですが。
「>」ではなく、複数行になってもかまわないので「実際に入力した内容」と「表示された内容」を掲示してください。
Windowsのコマンドプロンプトなら、右クリックで[範囲指定]を選択、マウスカーソルで開始点で左ボタンを押してドラッグすると選択範囲が判定しますので、
必要な部分を範囲選択して左ボタンを離して、反転表示されているところで右クリックしてください。
クリップボードに取り込まれるハズです。
============================================================================
Microsoft Windows [Version 6.1.7601]
Copyright (c) 2009 Microsoft Corporation. All rights reserved.

Z:\>dir
============================================================================
こんな感じに。


ちなみに、Main1.cppは実行ファイルじゃありませんのでコマンドプロンプトに
Main1.cpp
と入力しても、
'Main1.cpp' は、内部コマンドまたは外部コマンド、
操作可能なプログラムまたはバッチ ファイルとして認識されていません。
と表示されるのは当たり前ですのでご注意を。

この回答への補足

連絡が遅れ、申し訳ありません。クリックボードからコピーしたもの送信します。最初の方はMain1.cppファイルがあるTest
フォルダのものです。

C:\Users\YUZO\Documents\Visual Studio 2010\Projects\Test\Debug>dir
ドライブ C のボリューム ラベルがありません。
ボリューム シリアル番号は D643-2A2D です

C:\Users\YUZO\Documents\Visual Studio 2010\Projects\Test\Debug のディレクトリ

2014/09/20 21:01 <DIR> .
2014/09/20 21:01 <DIR> ..
2014/09/20 21:01 29,696 Test.exe
2014/09/20 21:01 330,988 Test.ilk
2014/09/20 21:01 543,744 Test.pdb
3 個のファイル 904,428 バイト
2 個のディレクトリ 301,322,149,888 バイトの空き領域

C:\Users\YUZO\Documents\Visual Studio 2010\Projects\Test\Debug>

次はStstem1.cppファイルがあるSampleフォルダのものでMain1.cppにアクセスし、実行結果をえるというものでSampleと入力すると、以下のようになります。

C:\Users\YUZO\Documents\Visual Studio 2010\Projects\Sample\Debug>dir
ドライブ C のボリューム ラベルがありません。
ボリューム シリアル番号は D643-2A2D です

C:\Users\YUZO\Documents\Visual Studio 2010\Projects\Sample\Debug のディレクトリ

2014/09/20 21:18 <DIR> .
2014/09/20 21:18 <DIR> ..
2014/09/20 21:18 38,400 Sample.exe
2014/09/20 21:18 379,836 Sample.ilk
2014/09/20 21:18 560,128 Sample.pdb
3 個のファイル 978,364 バイト
2 個のディレクトリ 301,298,405,376 バイトの空き領域

C:\Users\YUZO\Documents\Visual Studio 2010\Projects\Sample\Debug>Sample
'WINDOWSMain1' は、内部コマンドまたは外部コマンド、
操作可能なプログラムまたはバッチ ファイルとして認識されていません。
実行に失敗しました!

C:\Users\YUZO\Documents\Visual Studio 2010\Projects\Sample\Debug>

以上です。

補足日時:2014/09/21 10:19
    • good
    • 0

No2です。


補足内容が正しいとすると、
>Pathは、全部表示させたところ、次の様になっていました。
がまちがっていると言うことですね。両方正しいことはあり得ません。
(他の可能性としてはウイルスなど不正ソフトがその部分を書き換えたくらい)

コマンドプロンプトで、
path | clip
と打つと、pathの内容がコピーされるので、貼り付けてみてください。

あと、
>コマンドプロンプトを操作する過程で、
とは、具体的になんと打ったのでしょうか?

この回答への補足

Visual Studio 2010で簡単なプロゴラム(Sampleプロジェクトの中にSampleフォルダを置きその中にMain1.cppというファイルを作成)を記述、ビルドし成功すると「出力」に実行結果が出力されその中に、C:\Users\YUZO\documents\visual studio 2010\Projects\Sample\Debug\Sample.exeと表示されていました。それをそのままコマンドプロンプトに、C:\Usres\YUZO>cd documents>cd visual studio 2010>cd Projects>cd Sample>cdDebug>Sample.exe>dirとすると「Main1.cppは内部コマンド-----」と表示されますSample.exe>Main1.cppとしても同じです。Sample.exe>に色々入力しても同じでした。

補足日時:2014/09/20 08:23
    • good
    • 0

>「環境設定」を開くとデフォルトでPathは、全部表示させたところ、次の様になっていました。



それは、デフォルトではなくて、お書きの内容が正しいとすると、あなた(もしくは別の誰か)がPathを設定しようとして失敗して壊してしまった残骸ですね。すでにシステムが正常動作しなくなっています。

なので、
>コマンドプロンプトを操作する過程で、「〇〇〇は内部コマンド、操作可能なプログラム又はバッチファイルに認識されていません」メッセージがあり、
という状況になっています。

Pathのデフォルト(何もソフトをインストールしていない状態)は下記です。
%SystemRoot%¥system32;%SystemRoot%;%SystemRoot%¥System32¥Wbem;%SYSTEMROOT%¥System32¥WindowsPowerShell¥v1.0¥
(通常は、これにPCメーカーがプリインストールしたプログラムの追加分が加わっている)

ただ、すでにいろいろプログラムをインストールしていると思うので、それらのインストーラーがそのプログラムに必要な追加を上記デフォルト値に対して行っているはずです。

ということで、正しい状態にするには、上記デフォルト値に対して必要な追加を行う事が必要ですが、それはインストール済みのプログラムによって違います。

質問の内容からして、御自分で正しい対処が出来そうにないので、
PCの機種名詳細と、今までにインストールしたプログラムを全部書き出したら、誰かが正しいPathの値を書いてくれるかもしれません。

あるいは、とりあえず上記デフォルト値に戻して、動かないプログラムが見つかる度に、質問するか。


もしくは、データを外部ディスクにバックアップした上で、リカバリ機能で工場出荷状態に戻して、PC購入時の最初からやり直すということくらいでしょうか。

この回答への補足

No2様 補足させて頂きます。
Visual Studio 2010で簡単なプロゴラム(Sampleプロジェクトの中にSampleフォルダを置きその中にMain1.cppというファイルを作成)を記述、ビルドし成功すると「出力」に実行結果が出力されその中に、C:\Users\YUZO\documents\visual studio 2010\Projects\Sample\Debug\Sample.exeと表示されていました。それをそのままコマンドプロンプトに、C:\Usres\YUZO>cd documents>cd visual studio 2010>cd Projects>cd Sample>cd Debug>Sample.exe>dirとすると「Main1.cppは内部コマンド-----」と表示されますSample.exe>Main1.cppとしても同じです。Sample.exe>に色々入力しても同じでした。

補足日時:2014/09/20 08:31
    • good
    • 0
この回答へのお礼

回答を有難うございます。該当パソコンは兄から貰い受けた物で兄は「通販」で新品を購入、但し私よりパソコン操作には、疎いひとなので、Pathの設定などは、全く出来ません。私は貰い受けた時にリカバリを実行しました。Pathの設定はしていません。色々なものをインストールしていますが、正常に動作しています。どうしてそうなったか不明です。機会を見て、もう一度リカバリーをしてみます。詳細に渡る説明有難うございました。

お礼日時:2014/09/19 22:56

コマンドプロンプトでpath /?と入力するとpathコマンドの説明が出ます。

追加のやり方も載ってます。それだけではよく分からない時は「コマンドプロンプトでpath」と検索。いろいろ出て来ます。
    • good
    • 0
この回答へのお礼

早速の回答を有難うございます。コマンドプロンプトで表示される説明は、残念ながらビギナーの私には良く解りませんでした。私の場合の記述をどのようにするか、具体的にご教授頂ければ助かるのですが---。それでも参考になります。(研究してみます)有難うございました。

お礼日時:2014/09/19 15:48

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!