例如给定一个文件夹路径: c:\test\folder1
如何获取到它是属于哪个磁盘分区下的?(以上路径属于c:\)进一步,如果路径是共享文件夹呢? 比如: \\192.168.1.101\share请高手指教!

解决方案 »

  1.   

    看下这个类有没有,什么方法能得到
    System.Io.Directoryinfo
      

  2.   

    Directoryinfo 的 Root.Name 属性可以得到本地路径的磁盘分区,但不能获取局域网共享路径的。
      

  3.   

    DirectoryInfo a = new DirectoryInfo(@"d:\XXX\XXXX");
                Console.WriteLine(a.Root);
      

  4.   

    实际应用是这样:我想定时监视一组路径所属的磁盘分区空间信息,
    有这样一个win32 api可以获取到指定路径所属磁盘分区的容量信息,本地的和共享路径都可以:
            [DllImport("kernel32.dll", SetLastError = true, CharSet = CharSet.Auto)]
            static extern bool GetDiskFreeSpaceEx(string lpDirectoryName,
               out ulong lpFreeBytesAvailable,
               out ulong lpTotalNumberOfBytes,
               out ulong lpTotalNumberOfFreeBytes);因为两个共享文件夹可能同属一个磁盘分区,如果有一种方法能获取共享路径所属的磁盘分区,
    就能够做到在同一分区的多个路径,只需要调用一次GetDiskFreeSpaceEx就可以了。