我問這個問題的原因是因爲如果任何底層文件或文件夾是ReadOnly,.NET會將文件夾視爲ReadOnly。因此,此代碼:如何找出目錄本身是隻讀而不是底層文件
if (!Properties.Settings.Default.searchReadOnly &&
(diPath.Attributes & FileAttributes.ReadOnly) == FileAttributes.ReadOnly)
writeable = false;
總是要將寫入設置爲false。
這是一個問題,如果您需要知道根文件夾是否只讀。 我的Docments文件夾是不是隻讀,但是這是在屬性窗口中顯示'S:
任何幫助,將不勝感激。
編輯
我試圖接近你的建議,但文檔仍似乎有隻讀標誌設置。
if (!Properties.Settings.Default.searchReadOnly &&
diPath.Attributes.HasFlag(FileAttributes.ReadOnly)) // == true
searchable = false;
這怎麼可能?什麼用戶正在執行代碼?我假設積極登錄的用戶?同樣,假設因爲我可以寫入到Documents文件夾,它不能設置ReadOnly標誌。
這個SO線程應該幫助:[鏈接](http://stackoverflow.com/questions/7511592/check-if-folder-is-read-only-in -c-net) – sszarek
謝謝@sszarek,這很有幫助! – DerpyNerd