Comment verrouiller un fichier dans Windows pour bloquer la suppression ou le remplacement?
Bien qu'il existe de nombreux programmes tiers pour accomplir une tâche, vous souhaitez parfois simplement utiliser une méthode intégrée pour faire la même chose. Le billet de questions et réponses de SuperUser d’aujourd’hui aide le lecteur à trouver une solution intégrée impressionnante pour éviter que ses fichiers soient supprimés ou écrasés..
La séance de questions et réponses d'aujourd'hui nous est offerte par SuperUser, une sous-division de Stack Exchange, un groupe de sites Web de questions-réponses dirigé par la communauté..
Capture d'écran du Bloc-notes avec la permission de Dan (SuperUser).
La question
Le lecteur SuperUser boboes veut savoir s'il existe une méthode intégrée à Windows 7 et aux éditions plus récentes pour verrouiller un fichier et l'empêcher d'être écrasé ou supprimé:
Existe-t-il un moyen de verrouiller un fichier avec des moyens internes afin qu’il ne puisse pas être supprimé ou remplacé? J'ai besoin de verrouiller temporairement les fichiers lors du test des scripts de copie afin de vérifier le traitement des erreurs dans ces scripts. Jusqu'à Windows XP, je chargeais un fichier dans debug.exe pour le verrouiller. Est-il possible de le faire dans Windows 7 et les éditions plus récentes?
Je sais qu'il existe des programmes pour le faire. Ma question est de savoir s'il existe un mécanisme intégré dans Windows 7 et les éditions plus récentes. Parfois, je dois vérifier un script sur un PC et ne pas installer de nouveaux programmes pour cela.
Il y a également quelques bonnes suggestions ici: Comment verrouiller délibérément un fichier exclusivement? Malheureusement, ils ont besoin d'outils tiers ou de changer le fichier pour le verrouiller..
Existe-t-il une méthode intégrée pour le faire dans Windows 7 et les éditions plus récentes?
La réponse
Les contributeurs SuperUser, Dan et Breakthrough, ont la solution pour nous. Tout d'abord, Dan:
Je pense que PowerShell est probablement le meilleur moyen d’accomplir cela. Quelque chose comme ce qui suit:
En pause, le script ci-dessus provoque l'invite suivante lors de la tentative d'ouverture de «myfile.txt»:
Suivi de la réponse de Breakthrough:
Pour les plus curieux, voici le lien MSDN vers la méthode File :: Open détaillant les paramètres de l'appel (plus précisément, le dernier argument 'Aucun', refuse de partager le fichier avec d'autres threads / processus). De même, il est possible de verrouiller le fichier uniquement pour la lecture / écriture, ou une combinaison des deux..
Avez-vous quelque chose à ajouter à l'explication? Sound off dans les commentaires. Voulez-vous lire plus de réponses d'autres utilisateurs de Stack Exchange doués en technologie? Découvrez le fil de discussion complet ici.