¿Cómo puedo evitar que una carpeta sea eliminada accidentalmente por mí mismo?


41

Tengo una carpeta muy importante en mi escritorio. Ocasionalmente limpio mi escritorio y estoy muy preocupado de que pueda eliminar la carpeta mencionada inadvertidamente. ¿Hay alguna manera de prevenir tal desastre sin limitar mis frecuentes operaciones de lectura y escritura en el contenido de la carpeta? Tenga en cuenta que no me importa eliminar el contenido dentro de la carpeta uno por uno en ocasiones, pero la carpeta en sí me importa. Si se elimina, pierdo muchos esfuerzos.


69
El escritorio es el peor lugar para almacenar datos críticos, almacenarlos en otro lugar y hacer un acceso directo a ellos en el escritorio.
Moab

2
Su práctica común, un acceso directo solo conduce a la carpeta, todo funcionará.
Moab

3
@JasonStack probablemente, pero no necesariamente. Si mueve la carpeta y tiene algún otro programa o documento que asume que la carpeta está en su escritorio, podría romperse algo. Podría suceder si tiene archivos que enlazan con otros archivos, por ejemplo. Si eso no se aplica a su contenido, entonces probablemente no tendrá ningún problema.
barbacoa

8
No hagas eso. <hr /> Hacer copias de seguridad. Siempre haga copias de seguridad . En medios externos. Realice siempre copias de seguridad en medios externos. Además, debe consultar la función Historial de archivos / Versiones anteriores de Windows. Es bastante útil.
forloop

1
“Si ahora muevo esa carpeta a algún lugar y creo un acceso directo con el mismo nombre en el escritorio, ¿todo dependiendo de la carpeta continuará funcionando normalmente?” @JasonStack Respondí eso en mi Respuesta actualizada, a continuación. Me gustaría señalar que Junctions se introdujeron por la razón expresa de poder mover cosas a un volumen físico diferente sin afectar nada.
JDługosz

Respuestas:


112

No trates de evitar lo inevitable. Utilice copias de seguridad y control de versiones.

Sin embargo, podría negarse el permiso Eliminar . Eliminar archivos y carpetas dentro de ese directorio es un permiso separado que también puede deshabilitar cuando sea necesario.


26
Buen grito sobre copias de seguridad + consejos de control de versiones.
bertieb

66
@bertieb es crucial. OP no tiene que eliminar accidentalmente la carpeta para perder su trabajo, la unidad puede morir mañana.
CodeCaster

11
Convenido. Ejecutar sin copias de seguridad es solo la pérdida de datos en algún momento en el futuro, cuando, no si. Ahora, si me disculpa, se apresura a verificar las copias de seguridad
bertieb

77
Como técnico de TI, utilice copias de seguridad y control de versiones para todos los archivos importantes, especialmente cualquier cosa para clientes o su empresa. Por favor por favor por favor.
corsiKa

8
¿Cuáles son las probabilidades de que esto suceda, preguntas? BASTANTE MALDITO BIEN, yo mismo eliminé accidentalmente una carpeta llena de cosas importantes a fines del año pasado que no pude recuperar. Llamada de atención importante, ahora respaldo fervientemente mi trabajo en GitHub, reflejado en BitBucket, y también reflejado en un disco duro portátil. Tómalo de un sobreviviente, niños, no dejes que te pase. ESCUCHA A ESTOS CHICOS, RESPALDA TU COSA. SERIAMENTE.

51

Hay una mejor solución a su problema: mueva la carpeta a un lugar más apropiado (por ejemplo,% USPROFILE% \ Documents)

Si debe tener acceso a la carpeta desde el Escritorio, siempre puede crear un acceso directo. Esto garantiza que, si bien puede eliminar accidentalmente el acceso directo, nunca eliminará la carpeta o sus preciosos contenidos.

Si otras aplicaciones dependen de que esta carpeta esté en el Escritorio, puede crear un enlace simbólico con el comando "mklink". Dado que los enlaces simbólicos se manejan a nivel del sistema de archivos (mientras que los accesos directos son archivos reales que simplemente apuntan a otra ubicación), no debería haber problemas de compatibilidad con los programas que intentan usar este tipo de "acceso directo" en las rutas.


2
Dadas las circunstancias, esta es la respuesta correcta.
Angstrom

Me gusta la idea. pero no entiendo si funcionará para Cygwin que he instalado en la carpeta mencionada en el escritorio. ¿No causaría problemas para mi instalación y funcionalidad de Cygwin?
codezombie

@JasonStack, una instalación de Cygwin podría muy bien tener problemas si la mueve a otra ubicación.
barbacoa

1
@JasonStack, es posible que desee editar su pregunta para incluir los detalles de Cygwin, ya que afecta las posibles respuestas.
barbacoa

1
@JasonStack Cygwin debería tratar las uniones de forma invisible, como los puntos de montaje de Unix. Los programas Unix conocen los enlaces simbólicos y las versiones más nuevas de las bibliotecas Cygwin deberían tratar los enlaces simbólicos (al estilo Vista) como tal, por lo que depende del programa "verlos" como algo especial o no.
JDługosz

7

Sí, potencialmente limitado por la versión de Windows que tenga (las versiones de inicio pueden no tener la capacidad de ajustar la propiedad). Además, tenga en cuenta que eliminar los permisos de eliminación no garantiza que no pueda eliminar la carpeta . Me han quemado varias veces.

Aquí hay un método que generalmente es infalible:

  1. Crea un nuevo usuario
  2. Asigne la propiedad de la carpeta que no desea poder eliminar a este nuevo usuario
  3. Elimine el acceso de su usuario para eliminar la carpeta, asegúrese de que su usuario tenga todos los privilegios de lectura / escritura en la carpeta.

He usado este truco en Windows NT para Windows 7. A veces tienes que seguir un poco la configuración antes de que sea perfecto.

PRUEBE ESTO EN UNA NUEVA CARPETA PRIMERO (¡incluida la creación de archivos y carpetas dentro de la carpeta de prueba!

Además : preste atención a los consejos de "Usar copias de seguridad y control de versiones". Si los archivos son tan importantes, necesita al menos 2 copias.


Windows Home Basic puede ajustar la propiedad; simplemente no incluyeron ningún applet para hacerlo. Una herramienta de permisos de terceros todavía funciona. También el llamado "Modo Dios" PIDL podría tenerlo en la lista; No recuerdo Depende de si retuvieron el complemento también.
JDługosz

5

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 Rindicador en el directorio. Tampoco hay avisos adicionales que lo adviertan, como he visto para Hy / o Sbanderas. La emisión rddesde la línea de comando da acceso denegado como se esperaba. Sin embargo, no puede simplemente rdun 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 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 Ratributo.

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\MyFolderconvirtió D:\scratch\MyFoldermientras 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.txtel 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.


Nunca he oído hablar de Desktop Junk o junction en Windows. Lo que sabía era atajo . ¿Eso es lo que quieres decir con cruce? Por cierto, descubrí recientemente a partir de respuestas y comentarios sobre mklink y moví la carpeta que quería ( Temp ) a la carpeta Documentos, luego la ejecuté mklink mylink %userprofile%\Documents\Temp. Funcionó y parece que no tengo problemas con los programas relacionados con el directorio.
codezombie

Desktop Junk es un nombre que inventé para su script. O más bien para el elemento del menú que agrega para invocar el script. Es un juego de palabras en Desktop Junction y Junk Drawer. Un atajo es una cosa diferente. Los accesos directos son conocidos solo por el shell de la GUI y confunden todo lo demás. Por lo tanto, probablemente funciona como los enlaces simbólicos cuando se usa el cuadro de diálogo Abrir archivo, pero no podrá usarlo como un nombre de directorio real: "C: \ Users \ john \ Desktop \ Shortcutname \ foo.txt" no funcionaría.
JDługosz


2

Otra cosa que podría considerar hacer es habilitar la función Historial de archivos de Windows 8.1. Esto permitirá que su sistema mantenga automáticamente un historial de cambios en sus archivos y carpetas. Es mejor usarlo con una ubicación de almacenamiento externo, pero también podría usarse con una unidad local.

http://blogs.msdn.com/b/b8/archive/2012/07/10/protecting-user-files-with-file-history.aspx


No puedo hablar con Win 8.1 y cómo funciona el Historial de archivos, pero en Win 7 al hacer clic derecho en una carpeta se muestran las "Versiones anteriores" para recuperar archivos de un "Punto de restauración" anterior. Genial en teoría, pero si llena el disco, Windows descarta el punto de restauración anterior y ... poof: ya no hay una versión anterior. No confíes en el sistema operativo más de lo que lo haces tú mismo.
Ian W

La función de versiones anteriores se eliminó en Win 8.1, la función de historial de archivos es su reemplazo.
barbacoa

Entiendo el cambio de características, sin embargo, la cuestión de cuándo el disco se queda sin espacio para hacer nuevas entradas en el Historial de archivos, lo que ocurre permanece. ¿Quieres probarlo? La guía: no confíes en el sistema operativo más de lo que confías en ti mismo sigue siendo.
Ian W

@ Ian W, no estoy seguro de cómo eso es relevante. El historial de archivos crea sus copias de seguridad en un volumen de almacenamiento separado. Llenar completamente el disco duro no puede sobrescribir las copias de seguridad, porque están en un volumen separado.
barbacoa

1

Una solución efectiva podría ser mover la carpeta fuera del escritorio y luego configurar una unión NTFS usando el MKLINKcomando.

C: \ Usuarios \ Administrador> MKLINK

Crea un enlace simbólico.

MKLINK [[/ D] | [/ H] | [/ J]] Objetivo de enlace
        / D Crea un enlace simbólico de directorio. El valor predeterminado es un archivo
                enlace simbólico
        / H Crea un enlace duro en lugar de un enlace simbólico.
        / J crea una unión de directorio.
        Enlace especifica el nuevo nombre simbólico del enlace.
        Target especifica la ruta (relativa o absoluta) que el nuevo enlace
                se refiere a.

Entonces, en su caso, el comando sería:

MKLINK /J %userprofile%\Desktop\ImportantFolder D:\ImportantFolder

¿Dónde D:\ImportantFolderestá la carpeta real y %userprofile%\Desktop\ImportantFolderes la unión?

Notas:

  • The Junction no tiene que llevar el mismo nombre de la carpeta de origen.
  • La unión no es una copia, de hecho es una redirección otra forma de acceder a su carpeta. Imagínelo como la versión plegable de un acceso directo normal (* .lnk).
  • Las uniones difieren del acceso directo normal a las carpetas en que son totalmente transparentes para los programas.
  • Si se elimina la unión, la carpeta real no se elimina.
  • Pero, cualquier modificación de archivo es lo mismo que ir D:\ImportantFoldery hacer cosas. Entonces, si elimina un passwords.txtarchivo en la unión, también lo ha eliminado d:/ImportantFolder.
  • Si elimina accidentalmente la unión, vuelva a crearla.

Forma gráfica (más eficiente y fácil ) (con extensión de menú contextual)

En su lugar, puede instalar Link Shell Extension y luego mover su carpeta a otro lugar, hacer clic derecho y seleccionar, Pick link source...luego hacer clic derecho en su escritorio y seleccionar drop as...-> Junction. Y ya terminaste.

Esta es la primera aplicación que instalo en sistemas nuevos, ya que es una solución extremadamente útil. Recomiendo encarecidamente esto si alguna vez tendrá que administrar uniones o enlaces duros / simbólicos en su PC.


0

Puede hacer una copia de seguridad de todos sus archivos y carpetas en onedrive. Puede usarlo gratis pero limitado por 15 gb. Sin embargo, si tiene una suscripción a Office 365, tiene 1TB storge en onedrive y está incluido.


Gracias por la sugerencia, pero actualmente no puedo usar la copia de seguridad en la nube debido a las intensas operaciones de lectura / escritura en esta carpeta y, por lo tanto, a las limitaciones en el uso del ancho de banda.
codezombie
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.