Les systèmes de fichiers Windows ont un indicateur "lecture seule". C'est plus simple que de devoir définir des autorisations DACL pour un effet aussi simple.
Dans une invite de commande, utilisez la commande ATTR. Dans le shell de l'interface graphique, cela devrait être dans les propriétés, bien que l'interface graphique puisse faire quelque chose de complexe et au-delà de ce que vous vouliez vraiment.
De même, si vous recréez un répertoire portant le même nom, vous pouvez alors appliquer "restaurer les versions précédentes".
Mise à jour
J'ai expérimenté sur un système Win7. La suppression de l’interface graphique (sans la corbeille) ignore l’ R
indicateur du répertoire. Aucun message d'avertissement supplémentaire ne le prévient, comme ce que j'ai vu pour H
et / ou les S
drapeaux. L'émission à rd
partir de la ligne de commande donne un accès refusé comme prévu. Cependant, vous ne pouvez pas de rd
toute façon créer un répertoire non vide: supprimer un fichier et supprimer un répertoire sont des commandes différentes. Une commande permettant de supprimer de manière récursive un répertoire avec un contenu supprimera le contenu et échouera pour supprimer le répertoire maintenant vide.
Donc, protéger le répertoire lui-même ne fonctionne pas dans l'action de l'interface graphique que vous avez en tête. Et cela implique que toute approche plus sophistiquée visant à empêcher le répertoire lui-même d'être supprimé n'empêchera pas son vidage en premier! Vous avez dit que vous souhaitiez toujours un accès normal dans le répertoire pour créer et supprimer des fichiers. Par conséquent, le verrouiller complètement ne constitue pas une solution pour vous.
La meilleure solution semble être le lien symbolique . Faire un lien symbolique (nouveau style, ce que Windows Vista et les versions ultérieures appellent maintenant un lien symbolique) vers le répertoire sur le bureau, lorsque le répertoire existe réellement ailleurs, fonctionne en ce sens que si je supprime l'icône du bureau (shift-delete, pas de corbeille) le répertoire actuel n'est pas affecté car seul le lien a été supprimé.
Maj-Suppr de l'icône du bureau ne se souciait pas si elle était marquée avec l' R
attribut.
Un programme utilisant la boîte de dialogue standard d'ouverture de fichier Windows a parcouru le lien symbolique sans aucun problème. En fait, le nom du répertoire lié a été résolu. Le fichier ouvert était donc le vrai nom. par exemple, Desktop\MyFolder
est devenu D:\scratch\MyFolder
comme je l'ai navigué.
En utilisant un lien de style ancien (une jonction ), le programme a vu le nom avec la jonction toujours dans le chemin; Par exemple C:\Users\john\Desktop\MyFolder\test.txt
, le fait qu'il s'agisse d'un lien est invisible. Cependant, l'action de suppression de l'interface graphique le traitait toujours comme un lien et ne le suivait pas de manière invisible.
De toute façon, si un programme n'utiliser le nom crénelage directement cela fonctionnera. Mais avoir des fichiers parfois vus avec un nom et parfois l’autre peut confondre les choses.
Conclusion
Utilisez une jonction sur le bureau avec le dossier situé vraiment ailleurs et il sera complètement transparent que ce soit ce qui se passe. Vous pouvez éventuellement utiliser DACL pour empêcher la suppression accidentelle du fichier de point de jonction sur le bureau. Au moins, ayez un script pour le recréer au besoin.
Prime
Je n'ai pas essayé cela, mais je me demande si vous pourriez avoir quelque chose dans les "nouveaux éléments" pour recréer la jonction ou le lien symbolique? Ensuite, faites un clic droit sur le bureau maintenant vide, choisissez Nouveau ... puis choisissez "Bureau indésirable" dans le menu. Faites-le restaurer tout ce que vous vouliez vraiment sur le bureau.