Los sistemas de archivos de Windows tienen un indicador de "solo lectura". Eso es más simple que tener que establecer permisos DACL para un efecto tan simple.
En un símbolo del sistema, use el comando ATTR. En el shell de la GUI debería estar en las Propiedades, aunque la interfaz gráfica de usuario podría hacer algo complejo y más allá de lo que realmente quería.
Además, si vuelve a crear un directorio con el mismo nombre, puede aplicar "restaurar versiones anteriores" en él.
Actualizar
Experimenté en un sistema Win7. La eliminación de la GUI (sin papelera de reciclaje) ignora el R
indicador en el directorio. Tampoco hay avisos adicionales que lo adviertan, como he visto para H
y / o S
banderas. La emisión rd
desde la línea de comando da acceso denegado como se esperaba. Sin embargo, no puede simplemente rd
un directorio no vacío de todos modos: eliminar archivo y eliminar directorio son comandos diferentes. Un comando para eliminar recursivamente un directorio con contenido eliminará el contenido y luego no eliminará el directorio ahora vacío.
Por lo tanto, proteger el directorio en sí no funciona en la acción de la GUI que tiene en mente. ¡Y esto implica que cualquier enfoque más sofisticado para evitar que se elimine el directorio en sí no evitará que se vacíe primero! Dijiste que todavía quieres acceso normal dentro del directorio para crear y eliminar archivos, por lo que bloquearlo completamente no es una solución para ti.
La mejor solución parece ser el enlace simbólico . Hacer un enlace simbólico (nuevo estilo, lo que Windows Vista y superior ahora llaman un enlace simbólico) al directorio en el escritorio, cuando el directorio realmente existe en otro lugar, funciona en el sentido de que si elimino el icono del escritorio (shift-delete, sin papelera de reciclaje) el directorio real no se ve afectado ya que solo se eliminó el enlace.
Shift-Delete del icono del escritorio no le importaba si estaba marcado con el R
atributo.
Un programa que utiliza el cuadro de diálogo estándar para abrir archivos de Windows navega por el enlace simbólico sin problemas. En realidad resolvió el nombre del directorio vinculado, por lo que el archivo abierto era el nombre real ; p. ej. se Desktop\MyFolder
convirtió D:\scratch\MyFolder
mientras navegaba por él.
Usando un enlace de estilo antiguo (un cruce ), el programa vio el nombre con el cruce todavía en el camino; por ejemplo, C:\Users\john\Desktop\MyFolder\test.txt
el hecho de que sea un enlace es invisible. Sin embargo, la acción de eliminación de la GUI todavía lo trataba como un enlace, no lo seguía de forma invisible.
De cualquier manera, si un programa hace uso del nombre de alias directamente va a trabajar. Pero tener archivos a veces vistos con un nombre y otras veces puede confundir las cosas.
Conclusión
Use un cruce en el escritorio con la carpeta realmente ubicada en otro lugar, y será completamente transparente que esto es lo que está sucediendo. Opcionalmente, usando DACL para evitar la eliminación accidental del archivo de punto de unión en el escritorio. Al menos, tenga un script para volver a crearlo cuando sea necesario.
Prima
No he intentado esto, pero me pregunto si podría tener algo en "nuevos elementos" para volver a crear la unión o el enlace simbólico. Luego, haga clic con el botón derecho en el escritorio ahora vacío, elija Nuevo ... y elija "Desktop Junk" en el menú. Haga que restaure todo lo que realmente quería en el escritorio.