在 IsDirectoryWritable() 之前使用 IsDirectory() 驗證路徑是否存在。 如果目錄不存在(拼寫錯誤等),IsDirectoryWritable 報告 false,而不是錯誤。 IsDirectory() 對於名稱錯誤報告 false。 可能是驅動器映射問題?
在我的快速測試中,該函數似乎是在測試 Windows 權限,而不是實際進行端到端測試。 對於連接到 VirtualBox 的 Linux 驅動器,無論 Linux 權限如何,它始終報告 true(可寫)。
這是我所看到的:
User PermissionsUser Permissions用戶權限
Admin PermissionsAdmin Permissions管理員權限
我以用戶身份運行,而不是管理員身份運行,沒有寫權限的文件夾有 isDirectoryWritable==false。
最後:有一個我認為不涉及的古老選項:
Directories don't really have a read-only attribute.Directories don't really have a read-only attribute.目錄實際上沒有隻讀屬性。
該方塊是第三種狀態,既不是選中的也不是未選中的。
https://superuser.com/questions/1580751/folders-created-with-read-only-attribute-and-i-cannot-remove