自作の.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で質問しましょう!
似たような質問が見つかりました
- その他(開発・運用・管理) フォルダの中にファルダを作成してファイルを格納するバッチコマンド 1 2022/06/30 11:39
- Windows 10 バッチファイルの記述法とルールについてアドバイスをお願いいたします。 1 2022/04/13 10:50
- その他(プログラミング・Web制作) 図に示す階層構造で,現在のディレクトリ(カレントディレクトリという)が*印のディレクトリであるとき, 2 2022/11/16 10:55
- Windows 10 Windows11の実行モジュールはどこにある 1 2022/05/31 07:33
- UNIX・Linux JSLinuxについて。 Linuxのこの手順のプログラミングは合っているでしょうか。 ①ホームディ 2 2022/06/20 15:33
- PHP ファイルアップロードに関してのセキュリティについてアドバイスお願い致します 1 2023/08/20 00:25
- C言語・C++・C# exeファイルが作れない(windows10) 6 2022/08/13 08:47
- その他(開発・運用・管理) バッチファイルで特定のファイル・ディレクトリ以外を削除する方法について 4 2022/05/31 14:03
- Visual Basic(VBA) batからexeを実行し戻り値を受け取る バッチからEXEの結果を受け取りたいのですが、 下記のバッ 1 2023/07/04 15:13
- その他(開発・運用・管理) 【至急】.htaccessによるディレクトリ単位でのリダイレクト 2 2023/08/10 13:46
関連するカテゴリからQ&Aを探す
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
どんなプログラムを書いても指...
-
windows.hがincludeされない
-
フルパスから最後のディレクト...
-
webアプリケーションでの画像フ...
-
fopenで別ディレクトリにファイ...
-
ExcelVBAでカレントディレクト...
-
「UNCパスはサポートされません...
-
C言語を用いたファイルの一括削...
-
FTPでputすると空ファイルが出...
-
GetPrivateProfileStringでini...
-
複数のファイルへの一括処理(...
-
ファイルやディレクトリの存在...
-
VB.NETでWebアプリを作成後に、...
-
ThisWorkbook.Pathについて
-
新規作成ファイルパスが有効か...
-
ExcelVBA サーバーの(共有フォ...
-
AfxLoadLibrary関数で、DLLのハ...
-
c++ ファイル操作について
-
ネットワーク上のコンピュータ...
-
絶対パスの絶対て英語で何でし...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
フルパスから最後のディレクト...
-
どんなプログラムを書いても指...
-
FTPでputすると空ファイルが出...
-
ExcelVBAでカレントディレクト...
-
windows.hがincludeされない
-
GetPrivateProfileStringでini...
-
マイクラでPythonのプログラミ...
-
fopenで別ディレクトリにファイ...
-
「UNCパスはサポートされません...
-
ファイルやディレクトリの存在...
-
ExcelVBA サーバーの(共有フォ...
-
C言語を用いたファイルの一括削...
-
ファイルダイアログのカレント...
-
ネットワーク上のコンピュータ...
-
セルに入力されたパスでフォル...
-
webアプリケーションでの画像フ...
-
エクセルVBAで相対パスでファイ...
-
絶対パスの絶対て英語で何でし...
-
VBでフォルダ単位のFTP
-
EXCELでダイアログボックスを開...
おすすめ情報