造成一些程式上的衝突錯誤,
這時候有沒有一個能夠自由更改檔案權限的方法就很重要了~
寫下來之後程式如下:
public void ChangeAuthorities(string destinationPath,FileAttributes fileAttributes) { // 修改檔案權限為可讀寫 if (Directory.Exists(destinationPath)) { DirectoryInfo dir = new DirectoryInfo(destinationPath); foreach (var file in dir.GetFiles()) { file.Attributes = fileAttributes; } foreach (var item in dir.GetDirectories()) { ChangeAuthorities(item.FullName, fileAttributes); } } }
這樣子就可以一次把指定的目錄以及其子目錄的權限都隨意改掉囉!
通常要讀寫是改成normal~
然後執行完需要的動坐在把權限改回原本的唯讀即可~
而有關於檔案權限屬性設定說明如下:
http://msdn.microsoft.com/zh-tw/library/system.io.fileattributes(v=vs.80).aspx
成員名稱 | 說明 | |
---|---|---|
Archive | 檔案的保存 (Archive) 狀態。應用程式使用這個屬性標記檔案來進行備份或移除。 | |
Compressed | 檔案是壓縮過的。 | |
Device | 保留供將來使用。 | |
Directory | 檔案是一個目錄。 | |
Encrypted | 檔案或目錄是加密過的。對檔案而言,這表示檔案中的所有資料都被加密。對於目錄而言,這表示加密 (Encryption) 是新建檔案和目錄的預設值。 | |
Hidden | 檔案是隱藏的,因此不會包括在一般目錄的清單內。 | |
Normal | 檔案是正常的,並且沒有其他屬性設定。這個屬性只有在單獨使用時是有效的。 | |
NotContentIndexed | 檔案不會由作業系統的內容索引服務進行索引。 | |
Offline | 檔案是離線的。檔案資料不是直接可供使用的。 | |
ReadOnly | 檔案是唯讀的。 | |
ReparsePoint | 檔案包含重新剖析的位置,它是與檔案或目錄有關聯的使用者定義的區塊。 | |
SparseFile | 檔案是疏鬆檔案。疏鬆檔案基本上為其資料幾乎為零值的大型檔案。 | |
System | 檔案是系統檔案。檔案為作業系統的一部分,或為作業系統所專用。 | |
Temporary | 檔案是暫時的。檔案系統嘗試將所有資料保留於記憶體以備快速存取,而非將資料清除回存於大量儲存裝置。當不再需要時,暫存檔應該由應用程式刪除。 |
沒有留言:
張貼留言