相对于当前文件夹,运行EXE



我有一个带有我的exe的文件夹和一个称为数据的文件夹。我如何访问与我的EXE相对于当前与C#?

中的数据文件夹在同一文件夹中打开的数据文件夹。

样本文件夹结构:

--ApplicationFolder
       |------> your exe
       |------> Data folder
                 |------> files inside data folder 

从相对路径获取完整的路径

string applicationFolderPath =Path.GetDirectoryName(System.Reflection.Assembly.GetExecutingAssembly().Location);
string dataFolderPath = Path.Combine(Path.GetDirectoryName(System.Reflection.Assembly.GetExecutingAssembly().Location), "Data");

假设您有这个继承人:

/*  bin
       Debug
          Data
              file.txt
          App.exe
*/

如果您正在运行App.exe并且要访问file.txt,则可以使用:

来轻松执行此操作
string str = System.IO.File.ReadAllText("data\file.txt");

如果您的目标是在继承结构中跳起来:

/*  bin
      DataBefore
           file2.txt
      Debug
           App.exe
*/

然后您可以使用:

string str = System.IO.File.ReadAllText("..\DataBefore\file2.txt");

最新更新