Je souhaite conserver un verrou exclusif sur un fichier afin qu'il ne puisse être lu ou écrit par rien d'autre. Existe-t-il un outil ou une commande Windows simple pour le faire?
Je suppose que l'outil ou l'utilitaire implémenterait la fonction Windows LockFileEx .
Remarque : j'ai essayé des éditeurs de texte tels que Notepad et Notepad ++ sur un fichier texte, mais ils ne disposent pas d'un verrou exclusif sur celui-ci.
Réponses:
Essayez Easy File Locker (freeware).
la source
Solution plus simple: dans le répertoire d’intérêt, depuis la ligne de commande:
En tant que stdout redirigé, il restera verrouillé jusqu'à ce que l'application (le bloc-notes) soit terminée.
Notez que le "filetolock" sera écrasé par le ré-acheminement, vous ne souhaiterez donc probablement pas utiliser un fichier existant d’une importance quelconque. Un "filetolock" vide n'aura pas d'importance pour l'application que vous essayez de tester, car l'application ne pourra pas l'ouvrir de toute façon.
la source
notepad >>filetolock
Verrouiller un fichier sans outils tiers , aucune modification du fichier en cours de verrouillage et le fichier ne pouvant même pas être copié
Ce script PowerShell est une citation d'une réponse à une question similaire.
Si vous le trouvez utile, vous pouvez voter à la place de la réponse originale et non de cette publication.
la source
[void](Read-Host 'Press Enter to continue')
lieu de$host.UI.RawUI.ReadKey(...)
comme ReadKey est pas pris en charge dans le pseudo-console dans Powershell ISE.Ouvrez-le avec MS-Excel ... cette application verrouille un fichier lorsqu'elle est ouverte.
la source
FileLocker est un outil de ligne de commande freeware / open source.
Usage:
la source
Je ne peux pas écrire de commentaires, alors j'ajoute mes informations de cette façon:
https://stackoverflow.com/questions/5860542/how-can-i-simulate-a-locked-file-one-which-has-a-write-lock
EDIT: résumé de l'autre question:
commande de pause:
( >&2 pause ) >> file2lock.txt
Programmes MS tels que Word ou Excel aussi (fonctionne pour les fichiers texte)
Utiliser par programmation
LockFileEx
(API Windows) avecLOCKFILE_EXCLUSIVE_LOCK
etLOCKFILE_FAIL_IMMEDIATELY
la source
Voici comment je réplique le comportement de l'utilisateur d'un fichier verrouillé pour le test de bogue.
Dim s As New StreamReader ("C: \ test \ sampleFile.txt")
J'ajoute cette ligne à mon test unitaire pour verrouiller le fichier, puis exécute le test en mode débogage pour répliquer un comportement incorrect lorsqu'un fichier donné est verrouillé.
Je ne sais toujours pas comment les utilisateurs de mon entreprise verrouillent le fichier en question. Comme vous l'avez dit, le bloc-notes ne peut pas le verrouiller exclusivement.
Heureusement, la déclaration d'un lecteur de flux verrouille un fichier exclusivement, sauf indication contraire de votre part.
la source
Je seconde la solution par marsh-wiggle. Voici ma version du script:
Vous pouvez l'appeler depuis cmd comme ceci:
la source
Pour tester Robocopy ERROR "accès refusé", je viens de supprimer l'accès en lecture pour l'utilisateur. Cela fonctionnerait-il?
Pour Windows 10, cela peut être fait facilement à partir de la ligne de commande
Pour Windows 7, vous pouvez utiliser les propriétés de sécurité de l'explorateur de fichiers.
la source
Remplacez «Votre mot de passe ici» par votre mot de passe et enregistrez ce script sous le nom Locker.bat.
Lorsque vous exécutez le fichier de commandes, il vous affiche l'invite «Êtes-vous sûr de vouloir verrouiller le dossier (Y / N)»? tapez Y et appuyez sur Entrée, le dossier sera verrouillé.
Exécutez à nouveau le fichier de commandes et entrez votre mot de passe et le dossier. Tous vos fichiers seront à nouveau déverrouillés.
la source