在我的應用程序中,我有一個對話框,用戶可以在其中選擇數據庫備份位置。
我想警告用戶他/她選擇的位置是否「可能不安全」。檢查路徑是否在網絡上
我要考慮以下位置固定:
- 當選擇的文件夾是一個網絡
(或者通過映射的驅動器(I:\Backup
)或UNC符號(\\server2\backup
)) - 選擇當文件夾上與數據庫文件夾位於不同的物理磁盤上
如何獲取有關所選文件夾的此類信息?
我知道DriveInfo
類,但它只處理驅動器號,而不是UNC路徑。
在我的應用程序中,我有一個對話框,用戶可以在其中選擇數據庫備份位置。
我想警告用戶他/她選擇的位置是否「可能不安全」。檢查路徑是否在網絡上
我要考慮以下位置固定:
I:\Backup
)或UNC符號(\\server2\backup
))如何獲取有關所選文件夾的此類信息?
我知道DriveInfo
類,但它只處理驅動器號,而不是UNC路徑。
看一下DirectoryInfo
的對象。在選定的路徑上打開一個,你可以檢查很多東西。也許你可能想要獲取DirectorySecurity
並檢查路徑是否被鎖定。
積極主動的程序員可能會爲他/她的應用程序備份創建一個新的文件夾,並創建一個強大的ACL自己...
在PathIsNetworkPath功能請看:
class Program
{
[DllImport("shlwapi.dll")]
private static extern bool PathIsNetworkPath(string pszPath);
static void Main(string[] args)
{
Console.WriteLine(PathIsNetworkPath("i:\Backup"));
}
}
僅供參考:該函數不驗證指定的網絡資源是否存在,當前是否可訪問,或者用戶是否有足夠的權限來訪問它。 – 2015-11-17 17:01:29
嗨Robbert!如果其中一個答案提供了一個可行的解決方案,請您接受這個答案作爲答案,只是這個問題不再顯示爲'未答覆'。謝謝! – 2015-11-17 15:42:11