Quiero mantener un bloqueo exclusivo en un archivo para que nada más pueda leerlo o escribirlo. ¿Existe una herramienta o comando simple de Windows para hacer esto?
Supongo que la herramienta o utilidad implementaría la función de Windows LockFileEx .
Nota : He probado editores de texto como Notepad y Notepad ++ en un archivo de texto, pero no tienen un bloqueo exclusivo.
windows-7
windows-server-2008
John K
fuente
fuente
Respuestas:
Prueba Easy File Locker (freeware).
fuente
Solución más simple: en el directorio de interés, ejecute desde la línea cmd:
Como stdout redirigido, permanecerá bloqueado hasta que finalice la aplicación (bloc de notas).
Tenga en cuenta que el "filetolock" será sobrescrito por el redireccionamiento, por lo que probablemente no desee utilizar un archivo existente de importancia. Un "filetolock" vacío no le importará a la aplicación que está intentando probar, ya que la aplicación no podrá abrirlo de todos modos.
fuente
notepad >>filetolock
Bloquee un archivo sin herramientas de terceros , no hay cambios en el archivo que se está bloqueando y el archivo ni siquiera se puede copiar
Este script de PowerShell es una cita de una respuesta a una pregunta similar.
Si lo encuentra útil, puede votar la respuesta original y no esta publicación.
fuente
[void](Read-Host 'Press Enter to continue')
lugar de$host.UI.RawUI.ReadKey(...)
como ReadKey no es compatible con la pseudo-consola en Powershell ISE.Ábralo con MS-Excel ... esta aplicación bloquea un archivo mientras está abierto.
fuente
FileLocker es una herramienta de línea de comandos de código abierto / freeware.
Uso:
fuente
No puedo escribir comentarios, así que agrego mi información de esta manera:
https://stackoverflow.com/questions/5860542/how-can-i-simulate-a-locked-file-one-which-has-a-write-lock
EDITAR: resumen de la otra pregunta:
comando de pausa:
( >&2 pause ) >> file2lock.txt
Programas de MS como Word o Excel también (funciona para archivos de texto)
Uso programático
LockFileEx
(API de Windows) conLOCKFILE_EXCLUSIVE_LOCK
yLOCKFILE_FAIL_IMMEDIATELY
fuente
Así es como reproduzco el comportamiento del usuario de un archivo bloqueado para la prueba de errores.
Dim s As New StreamReader ("C: \ test \ sampleFile.txt")
Agrego esa línea a mi prueba unitaria para bloquear el archivo y luego ejecuto la prueba en modo de depuración para replicar el mal comportamiento cuando un archivo determinado está bloqueado.
Todavía no sé cómo los usuarios de mi empresa están bloqueando el archivo dado. Como dijiste, el bloc de notas no puede bloquearlo exclusivamente.
Afortunadamente, la declaración de un lector de secuencias bloquea un archivo exclusivamente a menos que especifique lo contrario.
fuente
Secundo la solución por marsh-wiggle. Aquí está mi versión del guión:
Puedes llamarlo desde cmd así:
fuente
Para probar ERROR de Robocopy "acceso denegado", acabo de eliminar el acceso de lectura para el usuario. Funcionaría eso?
Para Windows 10, esto se puede hacer fácilmente desde la línea de comando
Para Windows 7, puede usar las propiedades de seguridad del explorador de archivos.
fuente
Reemplace 'Your-Password-Here' con su contraseña y guarde este script como Locker.bat
Cuando ejecute el archivo por lotes, se le presentará el mensaje '¿Está seguro de que desea bloquear la carpeta (S / N)? escriba Y y presione enter y la carpeta se bloqueará.
Vuelva a ejecutar el archivo por lotes e ingrese su contraseña y la carpeta y todos sus archivos se desbloquearán nuevamente.
fuente