![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?e8efa67)
自作の.exeファイルの置かれているディレクトリ場所を
取得するプログラムを作成したく思います・
自作exeファイルのディレクトリ構造は、「*:*/hoge/plugin/自作.exe」です。
この時、一個上のディレクトリを参照して、ディレクトリパスを取得する
方法などがありましたらおしえて頂きたく思います。
ちなみに、以下のプログラムではできなかったのですが、参考までに載せました。
よろしくお願いします。
string stParentName = System.IO.Path.GetDirectoryName(@"*:*/hoge/plugin/自作.exe");
MessageBox.Show(stParentName);
No.1ベストアンサー
- 回答日時:
こんばんは
>一個上のディレクトリを参照して、ディレクトリパスを取得する
*:*/hoge/pluginを取得することでしょうか?
上記の仮定ですと
System.IO.FileInfo ofile = new System.IO.FileInfo(@"*:*/hoge/plugin/自作.exe");
string stParentName = ofile.DirectoryName;
MessageBox.Show(stParentName);
このような感じでしょうか?
この回答への補足
日本語が悪くすみません。
>一個上のディレクトリを参照して、ディレクトリパスを取得する
*:*/hoge/pluginを取得することです。
ありがとうございます。
ありがとうございます。おっしゃっていただいた情報を元に検索して、 System.IO.Path.GetDirectoryName(System.Reflection.Assembly.GetExecutingAssembly().Location);が目指したものだとわかりました。ありがとうございます。
No.4
- 回答日時:
んー・・・単純に
String appPath = System.Reflection.Assembly.GetEntryAssembly().Location;
appPath = appPath.Substring(0, appPath.LastIndexOf('\\'));
とかじゃダメなのかしらん。
この回答への補足
皆様有難う御座います。ここで改めて感謝いたします。皆様の回答で検索ワードの候補が絞れて答えが出て来ました。ありがとうございます。
一番先に回答いただいた方にベストアンサーにさせて頂きますが、皆様の回答でベストアンサーでした・ありがとうございます。
ありがとうございます。おっしゃっていただいた情報を元に検索して、 System.IO.Path.GetDirectoryName(System.Reflection.Assembly.GetExecutingAssembly().Location);が目指したものだとわかりました。ありがとうございます。
No.3
- 回答日時:
> 自作の.exeファイルの置かれているディレクトリ場所を
> 取得するプログラムを作成したく思います・
カレントディレクトリと実行ファイルのあるディレクトリが必ずしも同一ではない。
という点には注意が必要です。
# EXEファイルのショートカットを作成して作業フォルダを指定すればそちらがカレントディレクトリになりますから。
その上で……
C:/MyApp/hoge/plugin/自作.exe
という実行ファイルだった場合にどういうパスが欲しいのでしょうか?
C:/MyApp/hoge/pluginが欲しいのならば、既にあるように実行ファイルのファイル名でSystem.IO.Path.GetDirectoryName()を実行すれば得られます。
C:/MyApp/hogeが欲しいのならば、実行ファイルのファイル名でSystem.IO.Path.GetDirectoryName()を実行し、得られたパス名で再度System.IO.Path.GetDirectoryName()を実行すれば得られます。
http://msdn.microsoft.com/ja-jp/library/system.i …
の「解説」に
>返されたパスを GetDirectoryName メソッドに再度渡すと、返された文字列に対してこのメソッドを呼び出すたびに 1 フォルダー レベルの切り捨てが行われます。たとえば、パス "C:\Directory\SubDirectory\test.txt" を GetDirectoryName メソッドに渡すと、"C:\Directory\SubDirectory" が返されます。この文字列 "C:\Directory\SubDirectory" を GetDirectoryName に渡すと、"C:\Directory" になります。
とあります。
最初に明記した通り、実行ファイルのパスではなくカレントディレクトリが欲しいのであれば、
System.IO.Directory.GetCurrentDirectory()になります。
プログラム実行中にカレントディレクトリは変更される可能性がある。
という点にはご注意を。
ありがとうございます。おっしゃっていただいた情報を元に検索して、 System.IO.Path.GetDirectoryName(System.Reflection.Assembly.GetExecutingAssembly().Location);が目指したものだとわかりました。ありがとうございます。
No.2
- 回答日時:
どのプログラム視点で質問してるの?
自作.exe ていうか自身のディレクトリ パス?
System.AppDomain.CurrentDomain.BaseDirectory
この回答への補足
アプリケーションの実行パスを取得する方法についておしえていただきありがとうございます。
>一個上のディレクトリを参照して、ディレクトリパスを取得するし、連結して、*:*/hoge/pluginまでのパスを取得することです。
ありがとうございます。おっしゃっていただいた情報を元に検索して、 System.IO.Path.GetDirectoryName(System.Reflection.Assembly.GetExecutingAssembly().Location);が目指したものだとわかりました。ありがとうございます。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・ゆるやかでぃべーと タイムマシンを破壊すべきか。
- ・「I love you」 をかっこよく翻訳してみてください
- ・歩いた自慢大会
- ・許せない心理テスト
- ・字面がカッコいい英単語
- ・昔のあなたへのアドバイス
- ・かっこよく答えてください!!
- ・あなたが好きな本屋さんを教えてください
- ・スタッフと宿泊客が全員斜め上を行くホテルのレビュー
- ・【大喜利】【投稿~8/27】 こんなガソリンスタンド二度と来るか!なぜそう思った?
- ・これ何て呼びますか Part2
- ・人生で一番思い出に残ってる靴
- ・【お題】動物のキャッチフレーズ
- ・【お題】甲子園での思い出の残し方
- ・ゆるやかでぃべーと すべての高校生はアルバイトをするべきだ。
- ・「それ、メッセージ花火でわざわざ伝えること?」
- ・自分用のお土産
- ・人生で一番お金がなかったとき
- ・一番好きなみそ汁の具材は?
- ・泣きながら食べたご飯の思い出
- ・ちょっと先の未来クイズ第1問
- ・ゴリラ向け動画サイト「ウホウホ動画」にありがちなこと
- ・初めて自分の家と他人の家が違う、と意識した時
- ・単二電池
- ・チョコミントアイス
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
フルパスから最後のディレクト...
-
GetPrivateProfileStringでini...
-
どんなプログラムを書いても指...
-
fopenで別ディレクトリにファイ...
-
ファイルダイアログのカレント...
-
webアプリケーションでの画像フ...
-
C言語を用いたファイルの一括削...
-
FTPでputすると空ファイルが出...
-
マイクラでPythonのプログラミ...
-
FTPでリモートのファイル一覧取得
-
デフォルトでのファイルオープ...
-
VC++でファイルが開けないんです
-
「UNCパスはサポートされません...
-
windows.hがincludeされない
-
ExcelVBAでカレントディレクト...
-
CFileDialogを使用して、Pathを...
-
pythonでの日本語操作
-
圧縮(Zip)について
-
AfxLoadLibrary関数で、DLLのハ...
-
絶対パスの絶対て英語で何でし...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
フルパスから最後のディレクト...
-
どんなプログラムを書いても指...
-
FTPでputすると空ファイルが出...
-
windows.hがincludeされない
-
ExcelVBAでカレントディレクト...
-
「UNCパスはサポートされません...
-
絶対パスの絶対て英語で何でし...
-
マイクラでPythonのプログラミ...
-
fopenで別ディレクトリにファイ...
-
GetPrivateProfileStringでini...
-
ファイルやディレクトリの存在...
-
C言語を用いたファイルの一括削...
-
ネットワーク上のコンピュータ...
-
ExcelVBA サーバーの(共有フォ...
-
webアプリケーションでの画像フ...
-
pythonでの日本語操作
-
ファイルダイアログのカレント...
-
セルに入力されたパスでフォル...
-
エクセルVBAで相対パスでファイ...
-
新規作成ファイルパスが有効か...
おすすめ情報