检查路径是否在网络上

在我的应用程序中,我有一个对话框,用户可以在其中选择数据库备份位置。
我想警告用户他/她选择的位置是“可能不安全”。

我想考虑以下位置安全:

  1. 当选定的文件夹在网络上时
    (通过映射驱动器( I:\Backup )或UNC表示法( \\server2\backup ))
  2. 所选文件夹与数据库文件夹位于不同的物理磁盘上时

如何获得有关所选文件夹的此类信息?
我知道DriveInfo类,但它只处理驱动器号,而不是UNC路径。

看一下PathIsNetworkPath函数:

 class Program { [DllImport("shlwapi.dll")] private static extern bool PathIsNetworkPath(string pszPath); static void Main(string[] args) { Console.WriteLine(PathIsNetworkPath("i:\Backup")); } } 

看看DirectoryInfo对象。 在所选路径上打开一个,您可以检查很多东西。 也许您可能想要获取DirectorySecurity并检查路径是否被锁定。

主动程序员可以为他/她的应用程序备份创建一个新文件夹,并自己创建一个强ACL …