119 votes

Comment verrouiller volontairement un fichier de manière exclusive ?

Je veux détenir 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 faire cela ?

Je suppose que l'outil ou l'utilitaire mettrait en œuvre la LockFileEx Fonction Windows.

Note : J'ai essayé des éditeurs de texte comme Notepad et Notepad++ sur un fichier texte mais ils ne détiennent pas de verrou exclusif sur celui-ci.

171voto

user257114 Points 1711

Une solution plus simple : Dans le répertoire d'intérêt, exécutez depuis la ligne cmd :

notepad >filetolock

En tant que stdout redirigé, il restera verrouillé jusqu'à ce que l'application (notepad) soit terminée.

Notez que le "filetolock" sera écrasé par le re-direct, donc vous ne voulez probablement pas utiliser un fichier existant de quelque importance. Un "filetolock" vide n'aura pas d'importance pour l'application que vous essayez de tester, puisque l'application ne sera pas capable de l'ouvrir de toute façon.

49voto

marsh-wiggle Points 2722

Verrouiller un fichier sans outils tiers , aucun changement dans le fichier étant verrouillé et le fichier ne peut même pas être copié

Ce script PowerShell est une citation d'une réponse à une question similaire.

# Specify the file name
$fileName = "C:\myfile.txt"

# Open the file in read only mode, without sharing (I.e., locked as requested)
$file = [System.io.File]::Open($fileName, 'Open', 'Read', 'None')

# Wait in the above (file locked) state until the user presses a key
Write-Host "Press any key to continue ..."
$null = $host.UI.RawUI.ReadKey("NoEcho,IncludeKeyDown")

# Close the file
$file.Close()

Edit : citation d'un commentaire très utile :

En testant cela, j'ai constaté que vous pouvez aussi utiliser simplement

[System.io.File]::Open('c:\myfile.txt', 'Open', 'Read', 'None') 

qui gardera le fichier ouvert jusqu'à ce que vous fermiez PowerShell

31voto

Ice Points 649

Ouvrez-le avec MS-Excel... cette application verrouille un fichier en cours d'ouverture.

23voto

Vitaly Points 949

Essayez Easy File Locker (freeware).

enter image description here

16voto

Hecatonchier Points 21

FileLocker est un outil de ligne de commande freeware/open source.

Utilisation :

FileLocker [/T LockTime] [/I] [/K] [/Q] file [file...]

/T LockTime     Time in milliseconds to lock the file
/I              Infinite locking until process is killed (default)
/K              Lock file until key is pressed
/Q              Be quiet.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X