在.NET中查找总磁盘空间和可用磁盘空间

Ces*_*Gon 15 .net directory diskspace

我试图找到一种方法来确定.NET应用程序中任意文件夹中的总磁盘空间和可用磁盘空间.通过文件夹中的"总磁盘空间"和"可用磁盘空间",我指的是如果对其执行"dir"命令,则该文件夹将报告的总磁盘空间和可用磁盘空间,即,总磁盘空间和可用磁盘空间.考虑到发出请求的用户帐户,包含该文件夹的逻辑驱动器.

我正在使用C#.该方法应该对作为UNC路径给出的本地和远程文件夹起作用(而不是通过映射的驱动器号访问).例如,它应该适用于:

  • C:\ TEMP
  • \\ Silfen \资源\ TEMP2

我开始使用DirectoryInfo对象,但这似乎没有关联的磁盘空间信息.DriveInfo类可以,但它不能用于远程文件夹.

编辑.在与你们进行一些交流后,我正在考虑将远程文件夹映射为本地驱动器,使用DriveInfo获取数据,然后再取消映射.这种方法的问题是我的应用程序需要每天几次收集120多个文件夹的数据.我不确定这是否可行.

有任何想法吗?谢谢.

t0m*_*13b 12

从MSDN使用System.IO.DriveInfo该类的这个链接怎么样?

  • 正如我在最初的问题中所说, DriveInfo 类不适用于远程饲养员。:-) (2认同)

小智 11

您可以使用 kernel32.dll中的GetDiskFreeSpaceEx,它与UNC路径和驱动器一起使用.您需要做的就是包含一个DllImport(参见示例链接).