【问题标题】:Run exe relative to current folder [duplicate]相对于当前文件夹运行 exe [重复]
【发布时间】:2017-04-11 03:35:25
【问题描述】:

我有一个包含我的 exe 的文件夹和一个名为 data 的文件夹。如何访问与当前在与 C# 中的数据文件夹相同的文件夹中打开的 exe 相关的数据文件夹?

【问题讨论】:

  • 垃圾邮件标签有什么用?这是一个 C# 问题。无需提及任何其他标签。
  • 能说一下目录结构吗?
  • Path.Combine(Application.StartupPath , "data");

标签: c#


【解决方案1】:

示例文件夹结构:

--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");

【讨论】:

    【解决方案2】:

    假设你有这个层次结构:

    /*  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");
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-01-06
      • 2011-01-22
      • 1970-01-01
      • 2018-09-11
      • 2011-10-03
      相关资源
      最近更新 更多