【问题标题】:How to create a folder in the application installed directory如何在应用程序安装目录中创建文件夹
【发布时间】:2010-07-27 11:41:36
【问题描述】:

我在 c# windows 应用程序中做了一个应用程序。在此我创建了一个名为 ACHWINAPP 的项目。我已经编写了一些代码来获取我需要的路径,如下所示

strFilePath = Directory.GetCurrentDirectory();
strFilePath = Directory.GetParent(strFilePath).ToString();
strFilePath = Directory.GetParent(strFilePath).ToString();
strFilePath = strFilePath + "\\ACH\\";

但是当我为项目创建设置并安装在一个目录中时,即一些 F:\ 我收到错误 ACH as not found 。

我需要的是当用户单击保存时,我想将文件保存在他安装我的安装文件的目录中,文件夹名称为 ACH 请有任何想法..

【问题讨论】:

    标签: c# desktop-application


    【解决方案1】:

    你的意思是:

    Application.StartupPath
    

    可能不是您想要的...但它是您的可执行文件所在的文件夹

    链接:http://msdn.microsoft.com/en-us/library/system.windows.forms.application.startuppath.aspx

    【讨论】:

      【解决方案2】:

      这是一段比较简单的代码:

      string currentPath = Directory.GetCurrentDirectory();
      if (!Directory.Exists(Path.Combine(currentPath, "ACH")))
          Directory.CreateDirectory(Path.Combine(currentPath, "ACH"));
      //at this point your folder should exist
      

      当然,创建文件夹失败的原因有很多,包括权限不足。因此,在处理文件系统时,您还应该练习安全编码并捕获异常。

      【讨论】:

      • 这很有帮助,但由于我的安装路径是这个 C:\Program Files\Default Company Name\ACH 我想在这个路径中创建该文件夹,但它正在 C:\Program Files 中创建
      【解决方案3】:

      很难准确地理解你想要什么。也许使用this question 的答案来加载当前正在运行的应用程序旁边的文件?

      否则,使用Console.WriteLine() 进行跟踪(或者如果您使用的是Visual Studio,请添加一个断点)以找出strFilePath 的初始值。这可能不是你所期望的。

      不要将字符串“添加”在一起,而是使用Path.Combine(path1, path2) 创建您的路径:

      strFilePath = Path.Combine(strFilePath, "ACH");
      

      【讨论】:

      • 嘿,我需要的是我在我的系统中的目录 E 中创建了名为 ACHWINAPP 的应用程序。在我的电脑上它工作正常。如果我为我所做的事情创建了一个设置,并且如果我将它安装在某个目录 C:\ 的其他 PC 上,我无法找到文件夹名称 ACH,因此我无法将用户的文件保存在已安装的目录中
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-07-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-05-11
      相关资源
      最近更新 更多