2014年05月21日

C#で自分自身のファイル名を知る方法

   このエントリーをはてなブックマークに追加 Clip to Evernote
どう書く?orgに感謝を込めて」シリーズ その9

■問題 (出題者:ところてん さん)
 
自分自身のファイル名を知る方法を示してください。 ビルド後のファイルが、hogehoge.exeであれば、 ”hogehoge.exe”が表示されるようなプログラムを書いてください。 スクリプト言語でも同様です。 ファイル名が変更されたらそれに追従するようにしてください。

いくつかの方法を書いてみました。 「自分自身のファイル名」という意味合いでは、最後の例が一番合ってるかな。


■C#で書いたコード
using System;
using System.Reflection;
using System.Diagnostics;

namespace Doukaku.Org {
    class Program {
        static void Main(string[] args) {
            string path = "";

            // 方法その1
            path = Environment.GetCommandLineArgs()[0];
            Console.WriteLine(path);

            // 方法その2
            path = Process.GetCurrentProcess().MainModule.FileName;
            Console.WriteLine(path);

            // 方法その3 (若干意味合いが異なる)
            path = Assembly.GetEntryAssembly().Location;
            Console.WriteLine(path);

            // 実行中のメソッドがあるアセンブリファイル名を表示する例
            path = Assembly.GetExecutingAssembly().Location;
            Console.WriteLine(path);
         }
   }
}


 

この記事へのトラックバックURL

http://trackback.blogsys.jp/livedoor/gushwell/52369854