.net中建立目錄的問題(未找到路徑X的一部分|Could not find a part of the path)
阿新 • • 發佈:2019-02-08
在.net建立目錄裡最多使用的就是Directory.CreateDirectory,該函式的好處是不管有多少級子目錄,可以一次建立完,也就是說這個函式是從根目錄開始,一層一層的判斷、一層一層進行建立的。
但這樣的便利也造成了一個問題,舉例來說:
//Server01/Docs/Category1/是程式的一個工作目錄,當前執行程式的使用者只對//Server01/Docs/Category1/有訪問許可權,而對//Server01/Docs/目錄沒有訪問許可權,這時候我們要在//Server01/Docs/Category1/下建立一個子目錄Folder1,對於這樣的需求,使用Directory.CreateDirectory建立目錄就會報錯,因為Directory.CreateDirectory工作時無法從根目錄一層層向下遍歷。錯誤資訊如下:
Could not find a part of the path "//Server01/Docs/"
或未找到路徑"//Server01/Docs/"的一部分
為了繞過這個問題,可以使用Microsoft Scripting Runtime中的FileSystemObject,該元件中的CreateFolder方法與Directory.CreateDirectory的原理不同,FileSystemObject.CreateFolder只能一次建立一級目錄,也就沒了的多級遍歷所造成的許可權問題