我在项目里建了一个文件夹backup,和窗体在同一目录里,现在我想要找到这个文件夹的路径,怎么办,网上的方法,我发现都指到了bin/debug/下面去了。怎么办

解决方案 »

  1.   

    你的意思似乎是在运行时找那个路径?
    找不到的,生成后只是一个exe或几个dll文件。
      

  2.   

    文件夹的相对路径就是backup,
    绝对路径 Path.GetFullPath("backup")
      

  3.   

    你觉得在项目里建个文件夹合理么?你的项目文件夹可不是发布文件夹,发布的时候那个backup文件在exe文件的父目录而不是子目录,可能吗?
      

  4.   

    这个是VINFORM里最基本的  如果你的解决方案是发布成Debug版的 所生成的应用程序就会在bin/debug,如果是realse版的,所生成的应用程序就会在bin/realse下面,你在项目新建的文件夹,只要你重新生成一次就会在两个文件夹里生成,所以你执行的应用程序的根目录也是这两个文件夹的所在路径。你可以直接backup/这样也可以找到里面的文件。或者application.startup()+“\\backup"
      

  5.   

    Application.StartupPath是这个属性,获取启动了应用程序的可执行文件的路径,不包括可执行文件的名称。
      

  6.   

    用相对路径,打包的时候要把Debug文件夹里的内容打进去application.startup()+“\\backup"
      

  7.   

    在backup文件夹角有属性没有没有一个可以让你选择“编译时”的操作?
    要是没有你,你在backup里随便加个什么文件,在属性里选“编译时复制”这样就会自动在/bin/XXX/下生成一个backup目录了。
    最还好是在你程序里自动去建这个文件夹,有时用户会把任何一个他认为不相关的文件(夹)删除
      

  8.   

    不太明白楼主的想法。
    不过取还是可以取到的,楼上各位也都说了1.相对路径:"../../backup"
    2.绝对路径:拼字符串string exe_path = Application.StartupPath;
    string path = exe_path.Substring(0, exe_path.LastIndexOf(@"\"));
    path = path.Substring(0, path.LastIndexOf(@"\")) + @"\backup";
      

  9.   

    10楼的意思是我应该在debug文件里面去建这个backup文件夹是吗
      

  10.   

    Application.StartupPath应该是这个
      

  11.   


    不是说在那建的问题,而是你的程序发布以后去哪找backup文件夹的问题。
    就是说你现在不管在哪建的文件夹,你很确定的知道它的路径,而不需要程序去取。但当你的程序发布以后,这个路径是否还在你不知道。所以一般这种程序中出现的文件或文件夹都在Application.StartupPath的目录下。可能语文学的不好,表达的条理不是很清晰!
      

  12.   

    应用程序默认的路径是启动路径,debug时就是debug目录。
    相对路径都是相对默认路径的。
    一些方法(比如使用OpenFileDialog等)有可能改变相对路径,所以程序中最好还是使用绝对路径。
    如果想获得自己exe文件的路径,使用AppDomain.CurrentDomain.SetupInfomation.ApplicationBase最为稳妥,使用Application.StartupPath在某些特殊情况(如exe被服务调用)会得到错误路径,不过很少见罢了。
      

  13.   

    应该是相对路径:
    ../../backup