もくじ
https://tera1707.com/entry/2022/02/06/144447
やりたいこと
実行してるexe自身のフルパス、もしくはそれが保存されてるフォルダのパスを取りたい。
サンプルコード
// フォルダ Console.WriteLine(Environment.CurrentDirectory); Console.WriteLine(Directory.GetCurrentDirectory()); Console.WriteLine(System.AppDomain.CurrentDomain.BaseDirectory); // フルパス(ファイル名込み) Console.WriteLine(Assembly.GetExecutingAssembly().Location); Console.WriteLine(Environment.GetCommandLineArgs()[0]);
※Assembly.GetExecutingAssembly().Location
は、「発行」で「単一ファイルの作成」をすると、nullになってしまう。
その場合は、ディレクトリを取る場合はSystem.AppDomain.CurrentDomain.BaseDirectory
を使うべしとMSのページにあった。
ファイル名込みで取りたい場合は、Environment.GetCommandLineArgs()[0]
でよさそう。