Vérifiez que le chemin existe avec IsDirectory() avant IsDirectoryWritable(). Si le répertoire n'existe pas (mal orthographié, etc.), IsDirectoryWritable rapporte faux, pas une erreur. IsDirectory() renvoie false pour un mauvais nom. Peut-être un problème de mappage de lecteur ?
Lors de mes tests rapides, la fonction semble tester les autorisations Windows, sans effectuer de test de bout en bout. Pour mes lecteurs Linux connectés à VirtualBox, il indique toujours vrai (inscriptible) quelles que soient les autorisations Linux.
Voici ce que je vois :
User PermissionsUser PermissionsAutorisations utilisateur
Admin PermissionsAdmin Permissions Autorisations d'administrateur
J'exécute en tant qu'utilisateur, pas en tant qu'administrateur, et les dossiers sans autorisation d'écriture ont isDirectoryWritable==false.
Enfin : il existe une option ancienne qui, je crois, n'est pas impliquée :
Directories don't really have a read-only attribute.Directories don't really have a read-only attribute.Les répertoires n'ont pas vraiment d'attribut en lecture seule.
Cette case est un troisième état, ni coché ni décoché.
https://superuser.com/questions/1580751/folders-created-with-read-only-attribute-and-i-cannot-remove