¿Cómo se bloquea un archivo en Windows para bloquear la eliminación o sobrescritura?
Si bien hay muchos programas de terceros para llevar a cabo una tarea, a veces solo desea utilizar un método incorporado para hacer lo mismo. La publicación de preguntas y respuestas de SuperUser de hoy ayuda a un lector a encontrar una solución incorporada increíble para evitar que sus archivos se eliminen o sobrescriban.
La sesión de Preguntas y Respuestas de hoy nos llega por cortesía de SuperUser, una subdivisión de Stack Exchange, un grupo de sitios web de preguntas y respuestas impulsado por la comunidad..
Captura de pantalla del Bloc de notas cortesía de Dan (Superusuario).
La pregunta
El lector de superusuarios boboes desea saber si hay un método incorporado en Windows 7 y ediciones más recientes para bloquear un archivo y evitar que se sobrescriba o elimine:
¿Hay alguna forma de bloquear un archivo con medios internos para que no pueda borrarse o sobrescribirse? Necesito bloquear temporalmente los archivos mientras se prueban los scripts de copia para verificar el manejo de errores en esos scripts. Hasta Windows XP, cargaría un archivo en debug.exe para bloquearlo. ¿Hay alguna forma de hacerlo en Windows 7 y en las ediciones más recientes??
Sé que hay programas para hacer esto. Mi pregunta es si hay un mecanismo integrado en Windows 7 y ediciones más nuevas. A veces tengo que revisar un script en una PC y no quiero instalar nuevos programas para eso.
También hay algunas buenas sugerencias aquí: ¿Cómo bloquear un archivo exclusivamente de forma intencional? Desafortunadamente, requieren herramientas de terceros o cambiar el archivo a un estado bloqueado.
¿Existe un método incorporado para hacer esto en Windows 7 y en las ediciones más recientes??
La respuesta
Los contribuidores de superusuarios Dan y Breakthrough tienen la respuesta para nosotros. En primer lugar, Dan:
Creo que PowerShell es probablemente la mejor manera de lograr esto. Algo como lo siguiente:
Mientras está en pausa, la secuencia de comandos anterior genera el siguiente mensaje al intentar abrir "myfile.txt":
Seguido por la respuesta de Breakthrough:
Para los curiosos, aquí está el enlace de MSDN al método Archivo :: Abrir que detalla los parámetros de la llamada (específicamente, el último argumento 'Ninguno', se niega a compartir el archivo con cualquier otro subproceso / proceso). Del mismo modo, existen disposiciones para bloquear el archivo solo para lectura / escritura, o una combinación de ellos.
¿Tienes algo que agregar a la explicación? Apaga el sonido en los comentarios. ¿Quieres leer más respuestas de otros usuarios de Stack Exchange con experiencia en tecnología? Echa un vistazo a la discusión completa aquí.