using System;
class test
{
public static int Main(string[] args)
{
int x = args.Length;
for (int i = 0; i < x; i++)
Console.WriteLine("{0}, {1}", i, args[i]);
return 0;
}
}
上記のプログラムをvisual c# 2010 expressで
ビルドした後、コマンドプロンプトから
test.exe aaa bbb ccc
と入力し引数を渡して呼び出そうとしたのですが、
「'test.exe' は、内部コマンドまたは外部コマンド、
操作可能なプログラムまたはバッチ ファイルとして認識されていません。」
と表示されうまくいきませんでした。
test.csを保存したうえで今度はフルパスでの入力や、
csc test.csなども試してみましたが、ダメでした。
参考書には「ビルドをすることでexeの実行ファイルが作成される」と書かれているのですが、
PC内にtest.exeは見当たりません。
コマンドライン引数が渡せないのは実行ファイルが生成されていないためだと思うのですが、
まだ始めたばかりで解決の糸口もわからない状況です。
何かヒントになるようなことでもいいので教えていただけると助かります。
No.1
- 回答日時:
プロジェクトはどのようにして作られてます?
私が使ってるのはVisual Studio 2010なので参考程度にしかならないかもしれませんが
C#コンソールアプリケーションのプロジェクトを新規作成した際にできるファイルはProgram.csでビルドして作成される実行ファイルは プロジェクト名.exe なんですけど。
↓はプロジェクト名 ConsoleApplication1 で作成される実行ファイルは ConsoleApplication1.exe
using System;
using System.Collections.Generic;
using System.Text;
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
}
}
}
この回答への補足
普段は新しいプロジェクトから「空のプロジェクト」を開き
「コードファイル」を追加して使用しています。
コンソールアプリケーションからプロジェクトを新規作成してみたのですが、
やはりコマンドプロンプトから引数を渡して呼び出すことができません。
いったん基本設定に戻し、ビルドの出力元を表示すると、
確かにConsoleApplication1.exeが確認できるのですが、スタートメニューの
エクスプローラからコンピュータの検索をしてもファイルが見つかりません。
No.2
- 回答日時:
作成されたexeの在るフォルダに移動していないんではないでしょうか?
コンソール画面で、DIR コマンドでexeが存在するか確認しましたか?
通常、Visual Studio 2010 でコンパイルした場合、exeファイルは
ソースの在るフォルダの下のbin\Debug、または bin\Release フォルダに作成されます。
この回答への補足
>DIR コマンドでexeが存在するか確認しましたか
DIRコマンドでビルド時に表示された出力元のパスを入力してexeを確認したところ、
「指定されたパスが見つかりません。」と表示されました。
指摘していただいたようにexeのあるフォルダに移動していないことが原因だと思います。
作成したexeのフォルダへ移動するにはどのようにすれば良いでしょうか?
>ソースの在るフォルダの下のbin\Debug、または bin\Release フォルダに作成されます。
Microsoft Visual C# 2010のprogramsというフォルダにソースコードを保存してあるのですが、
フォルダの下にDebugやReleaseといったフォルダはありませんでした。
ソリューションエクスプローラのすぐ下にある
「すべてのファイルを表示」というアイコンをクリックしたところ、
binというフォルダが表示され、そこにDebugとReleaseがありました。これは関係ありませんか?
No.3
- 回答日時:
>コンソールアプリケーションからプロジェクトを新規作成してみたのですが、
>やはりコマンドプロンプトから引数を渡して呼び出すことができません。
具体的にどう実行しようとしたんですか?
ConsoleApplication1.exeがないディレクトリで実行しようとしたとかいうオチのような気がするんですけど・・・
>いったん基本設定に戻し、ビルドの出力元を表示すると、
>確かにConsoleApplication1.exeが確認できるのですが、スタートメニューの
>エクスプローラからコンピュータの検索をしてもファイルが見つかりません。
「コンピュータの検索」ってコンピュータを検索ものでファイルを探すものじゃなかったような・・・
ビルド時に
------ ビルド開始: プロジェクト: ConsoleApplication1, 構成: Debug x86 ------
ConsoleApplication1 -> C:\Users\~\Documents\Visual Studio 2010\Projects\ConsoleApplication1\ConsoleApplication1\bin\Debug\ConsoleApplication1.exe
========== ビルド: 正常終了または最新の状態 1、失敗 0、スキップ 0 ==========
のようなログが出力されると思うのですが、そこに出力されているディレクトリは探してみたんでしょうか?
なんだか基本的な入門書から始められた方がよさそうな。
この回答への補足
>具体的にどう実行しようとしたんですか?
プログラムを作った後スタートメニューのアクセサリからコマンドプロンプトを呼び出し
プロジェクト名(ConsoleApplication1.exe aaa bbb ccc)と入力しました。
ただおそらく原因はご指摘のようにディレクトリのない場所で実行しようとしたためだと思います。
>ディレクトリは探してみたんでしょうか?
ConsoleApplication1.exeの保存されているディレクトリは見つかったのですが、
そこへソースコードを保存してもコマンドプロンプトからパスが通りません。
ディレクトリのある場所からの実行というのはどのようにすれば良いでしょうか?
No.4
- 回答日時:
>ただおそらく原因はご指摘のようにディレクトリのない場所で実行しようとしたためだと思います。
文意が変わっちゃってますが・・・
「ディレクトリのない場所で」ではなくて「ConsoleApplication1.exeのないディレクトリで」なんですけど・・・
ディレクトリの意味わかってらっしゃいますか?(わからなかったら調べてください)
>ConsoleApplication1.exeの保存されているディレクトリは見つかったのですが、
>そこへソースコードを保存してもコマンドプロンプトからパスが通りません。
そんなことをしてもパスは通りません。
ソースファイルは実行ファイルを作成するための元となるものですが実行ファイルを実行することには何の関係もないです。
>ディレクトリのある場所からの実行というのはどのようにすれば良いでしょうか?
cdで、ConsoleApplication1.exeのあるディレクトリに移動してください。
コンソールアプリケーションをつくるのならcmd.exeの最低限のコマンドは覚えた方がいいと思いますよ。
No.5ベストアンサー
- 回答日時:
プロジェクトの中の実行ファイルができる、
binフォルダ下のdebugフォルダの名前指定が長すぎて面倒なときは、
エクスプローラでdebugフォルダのとこを右クリック、プロパティで出てくる
「場所」ってとこのc:\から始まるところをドラッグしてコピー、
コマンドプロンプトを起動して
「cd (スペース)」と入力、右クリックして張り付けると速いですよ。
或いはVisualStudio2010で作るプロジェクトなどは
Cドライブ直下にWorspaceみたいな名前のフォルダを作って
そこでプロジェクトを作るようにしたり、
できた実行ファイルだけをc:\Workspaceにコピーしたりすると
場所が分かりやすくて
cdなどのDOSコマンド入力も
実行そのものもラクかもしれません。
<以下はおまけで>
あとはプログラムのreturn 0;の一つ前の行に
Console.ReadLine();
を入れて、
VisualStudi2010のメニュー[プロジェクト]-[アプリケーション名のプロパティ]で開く画面の中に
デバッグというタブが左側に出てくるのでそれをクリック、
コマンドライン という項目に aaa bbb ccc と実行したいアーギュメント(引数)を随時入力してあげて保存、
ビルドした後
緑の横△(実行)ボタンを押すとコマンドプロンプト(コマンドコンソール)画面が残った上に結果も見れて
ちょっとハッピーになれるかもしれません。
コマンドプロンプトへのパスの貼り付け方や、
開始オプションを利用した引数の受け渡しなど
丁寧に教えていただきありがとうございました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- C言語・C++・C# exeファイルが作れない(windows10) 6 2022/08/13 08:47
- Java javaでのプログラム(配列)について質問です. 2 2022/10/14 22:27
- Ruby 【JAVA】数字をひし形に出力するプログラムについて 2 2022/07/11 23:32
- Java java 入力 3 4 3 出力 ABC DEFG HIJ このようなプログラムの書き方を教えてくだ 2 2022/07/15 14:18
- その他(プログラミング・Web制作) VScodeでpythonプログラムの関数を実行したい 2 2022/07/13 19:24
- Java java final 1 2022/06/10 22:49
- Visual Basic(VBA) batからexeを実行し戻り値を受け取る バッチからEXEの結果を受け取りたいのですが、 下記のバッ 1 2023/07/04 15:13
- C言語・C++・C# このプログラミング誰か教えてくれませんか 1 2022/06/02 15:27
- Visual Basic(VBA) batからexeを実行し戻り値を受け取る EXEの実行内容の結果によって、戻り値を0か1かで返したい 1 2023/07/04 16:40
- その他(プログラミング・Web制作) python OpenPyXLを使って出力結果をエクセルに書き込み 2 2022/06/04 19:46
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
visual studio2019でデバッグが...
-
VB6.0を使用しています
-
eclipseでプログラムが実行でき...
-
visual studio 2008 のデバッグ...
-
eclipseでデバックするとエラー...
-
C# リソースに埋め込んだ.exeフ...
-
vbpが開けない!!
-
デバッグとビルドは何が違うの...
-
デバッガでステップ実行してい...
-
ASP.NETでデバッグができない
-
C言語での開発でエラーが出て困...
-
Microsoft Visual Studio 2008 ...
-
ソリューションをまたがるデバ...
-
VC++でSQL Serverに接続するに...
-
VC6.0のデバッグで1つ以上のブ...
-
Visual Studio 2017 ビルドする...
-
VC++6の「プロセスへアタッチ」...
-
VC6 でのデバッグ時にブレーク...
-
visual studio 2019 についての...
-
VC++ ExpressEditionでの エラ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
デバッグとビルドは何が違うの...
-
eclipseでプログラムが実行でき...
-
visual studio2019でデバッグが...
-
eclipseでデバックするとエラー...
-
デバッガでステップ実行してい...
-
Visual studio2017で、2回目の...
-
C言語での開発でエラーが出て困...
-
DLL参照時に指定されたモジュー...
-
Eclipseのブレークポイントが○...
-
VB.netを実行するとデバック プ...
-
visual studio 2008 のデバッグ...
-
ソリューションをまたがるデバ...
-
Visual Studio 2017 ビルドする...
-
Release版のexeが動きません
-
Visual C#で、usingが出来ない...
-
ブレークポイントは現在の設定...
-
vb ver6 でformat文やTrim文の...
-
VB6.0を使用しています
-
visual studio 2019 についての...
-
Visual Studio 2008 SP1について
おすすめ情報