¿Cómo eliminar archivos y carpetas que no se pueden eliminar?

28

Tengo una copia de seguridad de una Documents and Settingscarpeta de Windows anterior que solo contiene mi usuario original y dentro de 2 directorios más: Favoritesy Local Settings.

Cuando trato de eliminar Local Settingsme sale este error:

texto alternativo

Cuando intento eliminar Favorites, aparece este error:

texto alternativo

Ejecuté esto en un shell de cmd :

attrib *. * -r -a -s -h / s

... pero no ayudó, ni devolvió ningún error / advertencia.

Usé Unlocker v1.8.5y LockHunterrepetidamente en varios niveles para ver si hay archivos en uso, pero ambos siempre dicen: No hay archivos bloqueados .

Actualización n. ° 1:

Pude cambiar el nombre del directorio, que ahora me da esta advertencia antes de (intentar) eliminar:

texto alternativo

Si presiono (o Sí a todo ), aparece este error:

texto alternativo

Actualización n. ° 2:

Dejé chkdsk /fcorrer que requería un reinicio ya que está en mi partición primaria del sistema. Durante el escaneo de la Etapa 2, recibí alrededor de 40 de estos:

Eliminar una entrada de índice del índice $ 0 del archivo 25.

...seguido por:

Eliminar las cookies de entrada de índice en el índice $ I30 del archivo 37576.

... pero aún aparece el primer cuadro de diálogo de error al intentar eliminarlo.

Corrí chkdsk nuevo, esta vez: chkdsk /f /r. No produjo mensajes. Mismo resultado al eliminar.

Actualización n. ° 3:

Profundizando, 99es el nombre de uno de los muchos directorios ubicados aquí:

C: \ Documents and Settings.OLD \ User \ Local Settings \ Application Data \ Microsoft \ Messenger \ [email protected] \ SharingMetadata \ [email protected] \ DFSR \ Staging \ CS {D4E4AE55-B5E2-F03B-5189-6C4DA6E41788 } \

Dentro de cada uno de esos directorios había archivos con nombres como:

2300- {C93D01AC-0739-4FD9-88C7-13D2F21A208E} -v2300- {C93D01AC-0739-4FD9-88C7-13D2F21A208E} -v2300-Downloaded.frx

Noté que, a diferencia de todos los directorios, no podía cambiar el nombre de ninguno de estos archivos. También noté que los nombres de archivo + directorio eran extremadamente largos:

Directorio original = 194 caracteres
Nombres de archivo = más de 100 caracteres En
conjunto, la longitud excede el límite de 255 caracteres, lo cual es malo y explicaría el mensaje de error que publiqué en la Actualización n. ° 1.

Solución parcial:

Cambie el nombre de todos los directorios hasta que la longitud total de la ruta sea ​​inferior a 100. Luego pude cambiar el nombre de los .frxarchivos, sin mencionar que eliminé todo dentro del Local Settingsdirectorio.

Esta es solo una solución parcial porque estos directorios (vacíos) todavía no se pueden eliminar,

C: \ 1 \ 2 \ Favoritos \ Viena \ Qué hacer ..
C: \ 1 \ 2 \ Favoritos \ Fotografía \ FUEGO

El mismo error que el anterior:

texto alternativo

Esto es lo que muestran las propiedades del Explorador para ambas carpetas:

texto alternativo

Actualización n. ° 4 (otra solución parcial):

Usando la respuesta de harrymc combinada con la lectura exhaustiva de este increíble artículo de MS-KB que contiene la idea de casi todos y luego algunos, discretamente titulados: No puede eliminar un archivo o una carpeta en un volumen del sistema de archivos NTFS .

Pude eliminar la segunda carpeta C:\1\2\Favorites\Photography\FIRE, el problema es que había un espacio final invisible al final. Tuve suerte cuando hice un autocompletado mientras jugaba con el del "\\?\<path>"comando que él sugirió.

NOTA: Una normal delNO funcionó, ni la eliminación de explorer.

Ahora todo lo que queda es el primer directorio C:\1\2\Favorites\Wien\What To Do..(sí, lo intenté sin cesar con múltiples combinaciones de la solución anterior;)

glenneroo
fuente
@glenneroo intente usar LockHunter en lugar de Unlocker y vea lo que dice. Además, ¿qué sucede cuando hace clic en "Sí" o "Sí a todos" en el cuadro "Confirmar eliminación de archivo"?
ubiquibacon
LockHunter también dice que ningún proceso está bloqueando este archivo o carpeta.
glenneroo
Tuve un problema similar al tuyo con algunos archivos de Adobe enterrados en algunas carpetas de una instalación de Windows con copia de seguridad. Intenté cambiar el nombre de todas las carpetas a 'x' para acortar la ruta, pero no funcionó. Los dejé de esa manera para recordarme que no eran nada y los dejé allí sentados durante un par de años hasta que finalmente DBANed el disco antes de enviarlo a alguien.
Tofystedeth
1
Debido a las propiedades de archivo extremadamente pequeñas que ve (ni siquiera las fechas), creo que este es un puntero de archivo que apunta a un archivo que no existe. Sin embargo, no sé cómo solucionar esto, pero esto podría dar una idea a alguien que sabe ...
asombro
1
¿Solo porque hay algunos archivos muertos que ni siquiera están usando mucho espacio? La unidad es ~ 2 años de edad y yo preferiría no tener que volver a instalar de nuevo . En cuanto a las lecturas SMART, Google publicó un informe aquí que básicamente decía que no se puede poner demasiado peso en la mayoría de esas lecturas: labs.google.com/papers/disk_failures.pdf También chkdsk / R no informó nada malo. ¿Me puede recomendar una herramienta para Windows como respuesta?
glenneroo

Respuestas:

29

del es para eliminar archivos, rd aka rmdir es para eliminar carpetas, así que ...

rd /s "\\?\C:\1\2\Favorites\Wien\What To Do.."

... debería hacer el trabajo! :-)

El /sparámetro

elimina todos los directorios y archivos en el directorio especificado además del directorio en sí.
Se usa para eliminar un árbol de directorios.


Si esto no funciona; incluso no con comodines / autocompletado; entonces tienes problemas de corrupción.

Tom Wijsman
fuente
oh hombre que parece que podría ser la respuesta allí :-)
James T
¡Wow, increíble, alguien finalmente lo consiguió! ¡Ganaste un doble bono! :)
glenneroo
@glenneroo: He votado a todos los que ayudaron a esto como un retorno. :-)
Tamara Wijsman
6

Intentaría ejecutar chkdsk primero como sugirió Jeff. Si esto no funciona, puede iniciar con un CD de Linux Live, montar el disco duro y eliminar las carpetas del entorno de Linux Live.

byachna
fuente
Dudo mucho en usar una alternativa (al NTFS de código cerrado) para eliminar archivos de una partición NTFS. Según mi experiencia, el soporte de lectura generalmente funciona bien, pero escribir puede ser peligroso.
glenneroo
1
El soporte de escritura en NTFS ahora es muy bueno en las distribuciones de Linux modernas, especialmente considerando que incluso WinXP no implementa completamente la especificación NTFS.
Jonathan
1
De acuerdo, Linux tiene un excelente soporte NTFS.
Jeff F.
No hace mucho (verano de 2010) utilicé ntfs-3g para eliminar archivos antes de volver a instalar XP. Luego, durante la instalación de XP, chkdskencontró una carga métrica de archivos corruptos. También me las arreglé para matar a los controladores NTFS en el pasado simplemente haciendo lecturas. Por supuesto, ambos casos estaban en particiones extremadamente fragmentadas con varios 100,000 archivos.
glenneroo
6

Es muy probable que tenga corrupción FS (sistema de archivos). Ejecute un chkdsk y luego intente eliminar los archivos.

También asegúrese de que no se use nada dentro del directorio como sugiere la advertencia.

También recomendaría hacer una copia de seguridad de sus archivos importantes antes que nada.

Jeff F.
fuente
Utilicé la herramienta Unlockerpara verificar que no había ningún controlador abierto en ninguno de esos archivos.
glenneroo
Eso es lo que me imaginé. Probablemente necesite ejecutar chkdsk / f
Jeff F.
1
@Moab: No, la limpieza del índice con chkdsk es normal. Es un artefacto de cómo se almacenan, solo se pueden limpiar durante una comprobación de disco. Sin embargo, no recuerdo dónde leí eso.
Afrazier
1
@glennroo: los bsod durante las operaciones de escritura también son signos de falla del disco. No me sorprendería ver su disco durar otro año, pero tampoco me sorprendería verlo morir mañana.
Joel Coehoorn el
1
Veo que tienes trid chkdsk /F; pruebe también chkdsk /Rque realiza 2 pasos adicionales para intentar marcar sectores defectuosos y recuperar datos.
AniDev
5

Todavía recibo el cuadro de diálogo Error 99 anterior cuando intento eliminarlo.

99 no es un número de error: es el nombre de un archivo o carpeta dentro de la carpeta que desea eliminar. Busca este artículo.

Una vez que lo encuentra, solo se queja de un error de permisos. Esto es probable porque ciertas cosas en las carpetas de perfiles de los usuarios están configuradas para tener solo permisos para ese usuario y nadie más, y están configuradas para no heredar los permisos de sus padres, o por alguna otra razón, todos los permisos en el archivo se perdieron. El resultado es que ninguna cuenta de usuario en su computadora tiene la capacidad de hacer nada con el archivo o carpeta.

Para solucionar esto, haga clic derecho en el archivo (o contiene una carpeta para asegurarse de obtener todo), elija Propertiesdel menú contextual y luego la Securitypestaña en el cuadro de diálogo que se abre. Esta pantalla tendrá un Advancedbotón en el que debe hacer clic. Busque la Ownerpestaña en el cuadro de diálogo que se abre. Ahora debería poder usar esta ventana para tomar posesión, lo que asignará nuevas entradas de permisos al elemento y finalmente le permitirá eliminarlo.

Joel Coehoorn
fuente
Buen punto sobre el nombre de archivo! Establecer permisos no ayudó, pero, por cierto, ¡encontré la mitad de la respuesta!
glenneroo
5

Lo siguiente que he leído en el sitio de soporte de Microsoft :

1) use dir /xpara obtener los nombres cortos (notación 8.3) de los archivos / carpetas enumerados 2) use rmdir /s shortnamepara eliminar una carpeta cuyo nombre largo no sea estándar

pt3
fuente
¡Buena idea! Lamentablemente, todas las carpetas que no puedo eliminar no tienen un nombre corto, es decir, están vacías cuando dir /x
escribo
3

Es posible que pueda usar la \\?\sintaxis Unicode en cmd para eliminar directorios demasiado largos, ya que la longitud de la ruta con esta sintaxis está "limitada" a 32,767 caracteres:

del /s /f /q "\\?\C:\Documents and Settings.OLD\User\Local Settings\Application Data\Microsoft\Messenger\[email protected]\SharingMetadata\[email protected]\DFSR\Staging\CS{D4E4AE55-B5E2-F03B-5189-6C4DA6E41788}\"
rmdir "\\?\C:\Documents and Settings.OLD\User\Local Settings\Application Data\Microsoft\Messenger\[email protected]\SharingMetadata\[email protected]\DFSR\Staging\CS{D4E4AE55-B5E2-F03B-5189-6C4DA6E41788}\"

Puede ser útil presionar la tecla de tabulación para recorrer los nombres de directorio una vez que obtenga un \, de modo que Windows comenzará a completar automáticamente los directorios que existen en esa carpeta.

Vea los archivos de nombres, rutas y espacios de nombres de Microsoft .

harrymc
fuente
Esto funcionará, pero creo que el delcomando tiene el MAX_PATHlímite :(
Billy ONeal
¡Buen truco! Obtuve los nombres largos de archivos al cambiar el nombre de los directorios a 1-2 caracteres. Could not find file.The system cannot find the file specified.
Probé
Actualicé mi respuesta. Al usar esta versión de delpude eliminar uno de los dos delincuentes restantes (que tenía un espacio final). Bounty es tuyo, ¡pero la trama se complica!
glenneroo
En casos muy problemáticos, es posible que pueda eliminar el directorio que lo contiene (después de mover las cosas que desea conservar).
harrymc
Muy contento, he tenido un nombre de directorio corrupto durante 3 años y finalmente encontré esto. El uso del comando rmdir anterior me permitió deshacerme del directorio roto.
hazymat
2

Personalmente, estoy de acuerdo con byachna y CarlF en que un CD en vivo de Linux es su mejor opción. Linux no se preocupa por los permisos, por lo que puede ingresar y eliminar cosas sin quejarse. Nunca he tenido ningún problema con la escritura NTFS desde Linux. Lo he estado haciendo regularmente durante varios años.

Entiendo que no quieres meterte con Linux, así que te sugiero algo más. Algo que Ashimema ya sugirió ... pero olvidó algunos enlaces. En lugar de un CD Live de Linux, puede probar uno de los muchos CD Live de Windows.

http://www.ubcd4win.com/ (requiere xp install cd para crear)

http://www.reatogo.de/REATOGO.htm (requiere xp install cd para crear)

http://www.nu2.nu/pebuilder/ (requiere xp install cd para crear)

http://www.vistape.net/index.php (requiere vista instalar DVD para crear)

Intente arrancar en el CD en vivo que decida usar y elimine las carpetas que causan todos los problemas. Como se trata de Windows, impondrá permisos de archivo. Es posible que tenga que cambiar los permisos o la propiedad de los archivos para eliminarlos. Quizás incluso intente el truco "\? \" Del CD de Windows Live.

Otra cosa para probar sería el comando cacls o icacls para ver si puede otorgarse permisos en las carpetas.

James T
fuente
Los intentaré e informaré (cuando tenga un par de horas).
glenneroo
0

Arranque su sistema usando una distribución Linux compatible con NTFS, digamos un liveCD de Ubuntu.

Montar el sistema de archivos de Windows.

Elimine lo que quiera, ya que Windows no podrá decir "No".

ANTES DE HACER ESTO HAGA UNA COPIA DE SEGURIDAD COMPLETA.

CarlF
fuente
1
Gracias pero byachna ya sugirió esto. Dudo en intentarlo porque he tenido problemas en el pasado con sistemas de archivos corruptos. Además, este caso se trata de archivos corruptos, es decir, el uso de un controlador NTFS no compatible podría arruinar completamente mi sistema.
glenneroo
Los controladores NTFS actuales en Linux tienen menos probabilidades de dañar los sistemas de archivos que Windows, en mi experiencia limitada.
CarlF
3
Realmente me gustaría ver datos para respaldar esa declaración. Nunca he tenido Windows corrompido un FS excepto por fallas de hardware.
Billy ONeal
Hay una razón por la que escribí "en mi experiencia limitada". He tenido un par de problemas como el de glenneroo con Windows (XP y Vista) y ninguno con NTFS-3G. Pensé que el descargo de responsabilidad lo dejaría claro.
CarlF
0

Hay varias formas complicadas y difíciles de resolver esto, como descubrí en el pasado.

Ahora que estoy seguro de lo que estoy haciendo, simplemente ejecutaré un chkdsk, luego arrancaré un CD en vivo para eliminar los archivos si todavía hubiera un problema (si te preocupan las habilidades de Linux con NTFS, entonces prueba ya sea BartPE o [Windows PE] [2], tanto libremente disponible)

Si va por el camino largo, todas las demás sugerencias ciertamente lo ayudarán a reducir el error real.

Ashimema
fuente
¡Salud James por agregar los enlaces que no pude (siendo demasiado nuevo aquí) en una publicación a continuación!
Ashimema
0

Tarde a la fiesta, pero este método funciona la mayor parte del tiempo, si no arranca desde una distribución de Linux y borra desde allí.

Abra una ventana elevada del símbolo del sistema y déjela abierta.

Cierra todos los programas abiertos.

Haga clic en Inicio, Ejecutar e ingrese TASKMGR.EXE Vaya a la pestaña Procesos y Finalice el proceso en "Explorer.exe" Deje el Administrador de tareas abierto.

Vuelva a la ventana del símbolo del sistema y cambie al directorio en el que se encuentra el AVI (u otro archivo no recuperable). En el símbolo del sistema, escriba DEL <ruta completa al archivo que desea eliminar> o cualquier comando que desee.

Vuelva al Administrador de tareas, haga clic en Archivo, Nueva tarea e ingrese EXPLORER.EXE para reiniciar el shell de la GUI. Cierre el Administrador de tareas.

Moab
fuente
-1

La respuesta de Joel es la mitad correcta, primero debe activar la pestaña de seguridad, vaya al panel de control> opciones de carpetas y la segunda pestaña (olvidé su nombre) al final de la lista con opciones hay algo sobre la administración avanzada de carpetas (nuevamente i no sé cuál es el nombre en inglés) una vez que lo haga, puede establecer permisos para su usuario en la pestaña de seguridad como se mencionó anteriormente.

Guillermo Siliceo Trueba
fuente
Ya tenía esas opciones habilitadas, además ya probé lo que me recomendó, pero no me ayudó. Lea la Actualización n. ° 3 y la Solución parcial de lo que está sucediendo. La carpeta que no puedo eliminar ni siquiera tiene propiedades, mucho menos opciones de seguridad.
glenneroo
Asegúrese de agregar acceso completo y opciones al usuario TODOS, con el verificador de usuario incluido, puede hacerlo.
Guillermo Siliceo Trueba