编写程序的时候,经常需要用的项目根目录。自己总结如下
1、取得控制台应用程序的根目录方法
方法1、Environment.CurrentDirectory 取得或设置当前工作目录的完整限定路径
方法2、AppDomain.CurrentDomain.BaseDirectory 获取基目录,它由程序集冲突解决程序用来探测程序集
2、取得Web应用程序的根目录方法
方法1、HttpRuntime.AppDomainAppPath.ToString()//获取承载在当前应用程序域中的应用程序的应用程序目录的物理驱动器路径。用于App_Data中获取
方法2、Server.MapPath("") 或者 Server.MapPath("~/")//返回与Web服务器上的指定的虚拟路径相对的物理文件路径
方法3、Request.ApplicationPath//获取服务器上ASP.NET应用程序的虚拟应用程序根目录
3、取得WinForm应用程序的根目录方法
1、Environment.CurrentDirectory.ToString()//获取或设置当前工作目录的完全限定路径
2、Application.StartupPath.ToString()//获取启动了应用程序的可执行文件的路径,不包括可执行文件的名称
3、Directory.GetCurrentDirectory()//获取应用程序的当前工作目录
4、AppDomain.CurrentDomain.BaseDirectory//获取基目录,它由程序集冲突解决程序用来探测程序集
5、AppDomain.CurrentDomain.SetupInformation.ApplicationBase//获取或设置包含该应用程序的目录的名称
其中:以下两个方法可以获取执行文件名称
1、Process.GetCurrentProcess().MainModule.FileName//可获得当前执行的exe的文件名。
2、Application.ExecutablePath//获取启动了应用程序的可执行文件的路径,包括可执行文件的名称
假设A的绝对路径是:c:\aSystem.IO.DirectoryInfo aDir = new System.IO.DirectoryInfo("c:\\A")
System.IO.DirectoryInfo[] dirs = aDir.GetDirectories()
得到的dirs数组就是A文件夹所有的子文件夹,要得到名字就:
dirs[0].FullName
dirs[1].FullName
dirs[2].FullName
........
先用System.IO.Directory.GetDirectories函数获取子目录的名称(包括其路径),再用System.IO.Path.GetFileName获取子目录的名称。下面是代码:Private Sub Button1_Click(sender As System.Object, e As System.EventArgs) Handles Button1.Click
For Each s In System.IO.Directory.GetDirectories("C:\Windows")
Console.WriteLine(System.IO.Path.GetFileName(s))
Next
End Sub
下面是部分输出:
Application Data
AppPatch
assembly
BOCNET
Boot
Branding
ConfigSetRoot
Cursors
Debug
DigitalLocker
Downloaded Installations
Downloaded Program Files
ehome
en-US
Fonts
Globalization
Help
...
可能有更简洁的方法,你可以到MSDN看看
System.IO.Directory.GetDirectories:http://msdn.microsoft.com/zh-cn/library/c1sez4sc.aspx
System.IO.Path.GetFileName:http://msdn.microsoft.com/zh-cn/library/system.io.path.getfilename.aspx
通用 I/O 任务:http://msdn.microsoft.com/zh-cn/library/ms404278.aspx
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)