Eliminar archivos con nombres demasiado largos
Tenemos un programa, Netvault Workstation Backup, y ha creado un gran directorio en nuestro PC con Windows, que ya no es necesario. Cuando intentamos eliminar estos archivos, recibimos estas alertas de Windows, diciendo que no se puede eliminar el directorio debido a que el nombre del archivo es demasiado largo. Alguien sabe de alguna herramienta que pueda eliminar todo el directorio, evitando el problema de la longitud del nombre del archivo.
No siempre he podido hacerlo así. Trato de perforar hacia abajo hasta que pueda eliminar las carpetas dentro de cualquier carpeta que estoy en. A veces hay que cambiar el nombre del propio archivo. En ese caso, simplemente empiezo a renombrar los archivos 1, 2, 3, 4, a, b, c, d, etc.
Me encuentro con esto a menudo, y no hay ninguna manera fácil de eliminar estos archivos, a excepción de la asignación de una unidad a una subcarpeta o cambiar los nombres de las carpetas en la ruta. Aunque, si hay una herramienta de exploración de archivos de terceros disponible que utiliza las versiones Unicode de las llamadas de la API, debe ser capaz de eliminar esos archivos.
Herramienta de ruta larga
Intente moverse a una ubicación que tenga un nombre de ruta más corto, o intente cambiar el nombre a uno más corto antes de intentar esta operación. Vea mi post anterior. Necesitas acortar los nombres de los archivos o carpetas o reestructurar el árbol de carpetas para no llegar al límite de 255.
Con la actualización de aniversario de Windows 10, finalmente puede abandonar el límite de ruta máxima de 260 caracteres en Windows. Windows 95 lo abandonó para permitir nombres de archivo largos, pero seguía limitando la longitud máxima de la ruta (que incluye la ruta completa de la carpeta y el nombre del archivo) a 260 caracteres.
Si la carpeta que quieres eliminar está compartida en otro ordenador o servidor, utiliza una unidad mapeada a mitad de la ruta. Está acortando el número total de caracteres para los archivos contenidos en la carpeta al sustituir la carpeta (con una ruta de archivo larga) por una letra de unidad. Puede copiar o eliminar los archivos sin violar el límite.
Bueno, envié los detalles de la causa raíz de este problema (es decir,. 256/260 caracteres límite para la ruta de archivo en Windows Share), y les recomendó para tratar de mantener los nombres cortos, no hizo ningún efecto. Es posible que tenga que comprobar el gestor para acortar los nombres de las carpetas, evitar la anidación profunda de carpetas (subcarpetas), mantener los nombres cortos (como Documentos -> Docs), etc.
Cmd delete all files in folder
Elimine los archivos o carpetas con nombres de ruta largos que no se eliminan mediante las técnicas de eliminación normales, es decir, shift delete o delete.Cree una carpeta vacía, tal vez llámela EmptyFolderUsando Robocopy para eliminar la carpeta que desea eliminar ejecute este comandoandrobocopy f:backupsemptyfolder f:backupsshares /purgef:backupsshares es la carpeta que desea eliminar
No estoy seguro de cuál es tu pregunta, pero si te entiendo bien, simplemente reinicia y luego borra la carpeta antes de hacer cualquier otra cosa. Windows a veces (con mucha más frecuencia de lo que la gente quiere reconocer) no libera los bloqueos de archivos y la única forma de forzarlo a hacerlo es reiniciando.
Si la ruta de tu archivo y los nombres exceden el máximo, he encontrado que acortar la ruta funciona bien. Puedes descender en la ruta, un nivel a la vez, y renombrar cada una de las carpetas de destino a algo corto. Eventualmente, deberías ser capaz de acortar toda la cadena lo suficiente como para que un borrado normal funcione.
Si la ruta de acceso y los nombres exceden el máximo, he descubierto que acortar la ruta funciona bien. Usted puede descender en la ruta, un nivel a la vez, y cambiar el nombre de cada una de las carpetas de destino a algo corto. Eventualmente, deberías ser capaz de acortar toda la cadena lo suficiente como para que un borrado normal funcione.
Robocopy borrar archivos
No puedo borrarlo desde el shell de comandos. No puedo borrarlo desde el explorador. No puedo hacer NADA con él. No tengo ni idea de cuántas copias de la misma Eclipse creado. Eclipse estuvo funcionando como un minuto antes de que me diera cuenta de que algo iba mal y cancelara la operación.
Hice un par de cosas, en primer lugar edité los nombres de los directorios a la longitud más corta posible (en realidad creo que esto no tenía sentido). En segundo lugar, recorrí el árbol de directorios lo más profundamente posible y luego corté y pegué la rama hacia afuera (lo que permite borrar la rama original), y luego repetí el proceso.
Si necesitas tratar con rutas más largas que MAX_PATH, tendrás que usar las versiones Unicode de las APIs de archivos de Windows (por ejemplo, DeleteFileW) y usar el prefijo _. Puedes escribir un programa corto usando estas APIs para enumerar estos directorios y borrarlos.
Alguien más arriba ya publicó una referencia a “rimraf”, pero permíteme añadir más detalles. Si tienes Node instalado en tu sistema, entonces simplemente usa el módulo rimraf (puede ser instalado en tu Path). Esta es, con mucho, la forma más fácil de borrar cosas en un sistema Windows en la mayoría de los casos no triviales. No es tanto que rimraf sea impresionante, en realidad, es porque Node.js maneja los sistemas de archivos a nivel del núcleo del dispositivo. Si miras el código fuente del módulo ‘fs’ de Node, verás código como este. En esencia, Node.js maneja los sistemas de archivos mucho mejor de lo que lo hace incluso Git para Windows, es decir, hay un error al usar git clean -fdx en Windows que no borra las carpetas con nombres de ruta largos.