代码之家  ›  专栏  ›  技术社区  ›  SqlRyan

检查文件夹是.NET中的本地资源还是网络资源

  •  5
  • SqlRyan  · 技术社区  · 15 年前

    有没有快速的方法来检查我的路径是在本地磁盘上还是在网络上的某个地方?我不能只是检查它是否是驱动器号与unc,因为那样会错误地将映射驱动器标识为本地驱动器。我以为它是directoryinfo对象中的布尔值,但似乎不是。

    我已经找到了经典的vb代码来完成这个检查(通过api),但是到目前为止还没有.net的代码。

    3 回复  |  直到 15 年前
        1
  •  6
  •   SqlRyan    15 年前
                    System.IO.DirectoryInfo di;
                    if (System.IO.Path.IsPathRooted(di.FullName))
                    {
                        System.IO.DriveInfo drive = new System.IO.DriveInfo(System.IO.Path.GetPathRoot(di.FullName));
                        if (drive.DriveType == System.IO.DriveType.Network)
                        {
                            // do something
                        }
                    }
                    else // shouldn't be reached
                    {
                        // relative path => local
                    }
    
        2
  •  1
  •   Fredrik Mörk    15 年前

    你可以从北卡罗来纳州的支票开始。然后,如果不是unc路径,则创建 DriveInfo 对象并检查 DriveType .

        3
  •  0
  •   Timores    15 年前

    从路径中的驱动器号获取driveinfo实例。它有一个drivetype属性,可以是:cdrom、fixed、unknown、network、norootdirectory、ram、removable或unknown