Cómo eliminar directorios con rutas / nombres demasiado largos para la eliminación normal


380

Windows parece tener un límite de longitud en los nombres de los archivos cuando intenta eliminarlos, aunque no evitará que se creen esos archivos.

Nuestro proceso de compilación crea una cantidad de archivos temporales (muchos compilados a partir de un WSDL) que no cumplen con este límite. Nuestro script de hormiga de alguna manera puede eliminarlos cuando se realiza una limpieza, pero a veces necesito eliminar el directorio del área de trabajo (donde van todos los archivos temporales) sin realmente hacer una limpieza completa de la hormiga.

Estos son los mismos errores que esta pregunta , pero las respuestas allí realmente no funcionan para mí, ya que estoy tratando con un directorio, no con un archivo, y no siempre sé qué archivos o subdirectorios específicos están causando el problema. Y estoy tratando de evitar cualquier proceso manual (que no sea activar un solo comando) para eliminarlos.

Si intento eliminar el directorio de Explorer, aparece el error

Cannot delete [file name]: The file name you specified is not valid or too long.  
Specify a different file name

Probar Remove-Itemen powershell da el siguiente error:

Remove-Item : The specified path, file name, or both are too long. The fully qualified file name must be less than 260 characters, and the directory name must be less than 248 characters.
At line:1 char:12
+ Remove-Item  <<<< -force -Recurse <directory>

¿Alguien sabe de alguna herramienta o formas fáciles de evitar este error de eliminación sin tener que buscar manualmente los archivos problemáticos y moverlos / cambiarles el nombre?


2
Encontré la solución justo antes de publicar esta pregunta, pero dado que otros pueden encontrarse con esto, decidí publicarla para que puedan encontrar la solución que encontré.
Herms

Oh, lo sé, pero en general cuando hago cosas como esta, dejo la pregunta "sin respuesta" por un tiempo para ver si alguien más tiene una mejor solución.
Herms

Con mucho, la solución más simple: youtube.com/watch?v=qQTyTprFAOg
TaW

usando Ubuntuo cualquier otro Linux Bootable CD, podemos arrancar nuestra computadora Ubuntuo cualquier otro sistema operativo por tiempo. Entonces podemos seleccionar la carpeta y podemos eliminarla fácilmente.
Kelum Priyadarshane

1
Esta pregunta mayor tiene algunas respuestas interesantes también: superuser.com/questions/45697/...
AdamV

Respuestas:


421

Use el Administrador de archivos 7-Zip para eliminarlos.

Si todavía tiene problemas, asegúrese de utilizar Shift+ Deletedentro del Administrador de archivos 7-Zip. De lo contrario, Windows intenta moverlos a la Papelera de reciclaje (que volverá a fallar).


55
Gracias, esto eliminó un árbol de directorios que se volvió un poco recursivo y era demasiado profundo para eliminarlo del / rmdir / rm / explorer
Martin Beckett,

63
funcionó muy bien usando Shift + Del - 7zip no pudo enviar archivos a largo pathed a la papelera de reciclaje ....
Cori

66
+1 7zip. Tienes que navegar a la carpeta, y LUEGO usar shift + Delcomo @cori dijo. Si selecciona la Deleteopción del menú contextual, fallará allí. shift + Del¡eso!
Urda

8
7zip no funcionó para win7 64, así que Linux sí.
Erik Friesen

13
Voté esto porque con 7zip puede eliminar también eliminar una carpeta que contiene carpetas anidadas largas en su interior. Tuve mi problema con una carpeta node_module que contenía toneladas de carpetas anidadas y no pude eliminarla. 7zip corregido desde la carpeta base sin problemas. +1
Gruber

310

Ninguna de las otras respuestas (gratuitas) aquí funcionó para mí, pero encontré una en otro sitio:

rimraf <dir>

rimraf es un paquete de Node.js , por lo que deberá instalar Node.js, que incluye npm . Entonces puedes ejecutar:

npm install -g rimraf

Entonces puedes correr rimrafdesde la línea de comando.

Encontré esta solución porque npm estaba causando este problema debido a la forma en que anida las dependencias.

Por cierto, rimrafobtiene su nombre del comando UNIX rm -rf, que elimina recursivamente archivos y carpetas.


77
Intenté de muchas maneras. ¡Esto funciona perfectamente!
Duckegg

2
La mejor respuesta de todas :) sí, es fácil
Al-Mothafar

2
Esta debería ser la respuesta aceptada.
NINCOMPOOP

13
Su solución funciona, pero esto es tan f ## k-up que tengo que usar un módulo node js para eliminar carpetas de módulos node js ... Ya no quiero vivir en este planeta
Benoit P

44
Node creó el problema en primer lugar para mí, tan ... interesante ... que también tienen una solución.
Eric J.

141

No es necesario instalar ningún programa para resolver este problema.

Este problema se resuelve fácilmente usando robocopy, preinstalado desde Windows Vista, lanzado en 2006.

Por ejemplo, rmdir /S /Q <dir>se ha informado que falla en algunos casos. No es necesario usar 7zip ni ninguna otra herramienta de terceros. Powershell es una exageración. Cygwin puede funcionar, pero es posible que no lo tenga instalado. Entonces, centrémonos enrobocopy

La idea es

  1. utilizar robocopypara copiar + actualizado
  2. de una nueva carpeta vacía
  3. a la carpeta que desea eliminar, el destino.

Después de ejecutar robocopy, el directorio de destino también estaría vacío.

Estas instrucciones son para la línea de comando. Simplemente abra la búsqueda en Windows, escriba cmdy presione Entrar.

Digamos que el objetivo para la eliminación es:

C:\delete\this folder\with a very long name

Procedemos de la siguiente manera:

  1. Primero crea un directorio vacío, fi C:\emptyfolder.

    mkdir C:\emptyfolder
    
  2. Copiar + actualizar desde el directorio vacío al destino, usando la opción /purge

    robocopy c:\emptyfolder "C:\delete\this folder\with a very long name" /purge
    
  3. Eliminar el directorio vacío. Ya no lo necesitas.

    rmdir c:\emptyfolder
    

Como no hay archivos o carpetas en el directorio de origen ( C:\emptyfolder), simplemente elimina los archivos y carpetas en el directorio de destino ( C:\delete\this folder\with a very long name) de forma recursiva.

  • Truco final: puedes evitar escribir a mano

    C:\delete\this folder\with a very long name
    

    Arrastrando la carpeta desde una ventana del Explorador y soltándola en la ventana Terminal / cmd.

Tenga cuidado : ¡los archivos eliminados no irán a la carpeta de la papelera ! Una vez eliminados, los archivos no se pueden recuperar.

(Tomado de "¿Ruta demasiado larga? Usar Robocopy" por BVLANGEN )

PD: Me doy cuenta de que esta respuesta estaba aquí, menos didácticamente. ¿Cómo eliminar un archivo en Windows con un nombre de archivo demasiado largo? [duplicar]

Benoit agregó:

Puede que tenga que pasar por este proceso más de una vez para deshacerse de todos los archivos.


11
¡Gracias, buen señor! Esta debería ser la respuesta aceptada ya que todos los demás no funcionaron o requirieron una herramienta de terceros . :)
MickyD

Esto funciona perfectamente ... no es necesario instalar nada (que yo sepa) y es rápido. ¡Esta debería ser la respuesta aceptada!
ksumarine

1
Esto mantiene parte (o la totalidad) del árbol de directorios en "c: \ deletefolder" (directorio de destino). De todos modos, borré todo en un abrir y cerrar de ojos (supongo que los archivos eran pequeños) y solo tuve que <Del> "c: \ deletefolder" manualmente, los directorios secundarios se eliminaron sin problemas. Trabajado como un encanto. +1, debe ser la respuesta aceptada! :)
rld.

@rld, pero ¿existía "deletefolder" antes? De lo contrario, creo que debería estar vacío si se tratara de un nuevo directorio. De lo contrario, es un desastre. Podría agregar un último paso para "rmdir deletefolder".
hectorpal

1
Cuando se trata de directorios altamente recursivos, esta opción es mucho más lenta que 7zip. Después de esperar 20 minutos, los comparé y me di cuenta de 7zip, aunque no muestra que el progreso se estaba ejecutando 50 veces más rápido.
Andy Gauge

84

Creo que he encontrado una manera de eliminar cosas de cmd. Originalmente probé el delcomando, pero eso no funcionó. Entonces lo recordé rmdir. Haciendo lo siguiente:

rmdir /S /Q <dir>

Parece haber funcionado.


105
No funciono para mi. :(
Andrew Arnott

recuerde colocarlo en cmd antes de intentar ejecutar rmdir.
brianpeiris

8
Para aquellos que no pueden usar esta solución, tengo una solución alternativa que funcionó para mí (con nombres de ruta / archivo demasiado largos): mueva el (los) archivo (s) / directorio a C: \ para acortar la ruta, luego elimine de allí.
Anders Sandberg Nordbø

66
Es posible tener directorios para los que esta solución no funcionará, que 7-Zip puede eliminar. Me acaba de pasar esto.
SamStephens

2
Esta solución está obteniendo resultados inconsistentes. Por favor, no lo vote.
hectorpal

29

La herramienta que utilicé cuando tuve este problema fue FastCopy . Seleccioné Eliminar todo del menú desplegable, seleccioné el directorio que quería eliminar e hice clic en Eliminar todo .

Captura de pantalla de diálogo de eliminación de FastCopy

FastCopy es portátil (no requiere instalación), y hay versiones de 32 bits y 64 bits disponibles.


3
Si está buscando una herramienta de línea de comandos, puede usar una pequeña herramienta que he publicado en GitHub ( github.com/epsitec/Tools-RecursiveDelete ).
Pierre Arnaud

Tenía un conjunto recursivamente generado de archivo / carpeta anidado. Esta era la única solución que funcionaba
Pierluigi el

2
Esto funcionó para mí cuando, la línea de comando falló, el intento de 7zip falló. ¡e incluso el soporte de Microsoft quedó perplejo!
Kit Ramos

Lo mismo aquí: comencé a eliminar archivos con 7zip, pero también actuó de manera muy extraña y tuve que Shift + Delere cada directorio varias veces seguidas para eliminarlo, pero luego probé esta herramienta y funcionó de maravilla . Lanzado dos veces para deshacerse de todos los archivos. ¡Gracias!
Artanis

Gracias, para mí también, la única solución de trabajo, ¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡GRAN !!!!
tim

26

Sin instalar software adicional, puede usar el substcomando para crear temporalmente un alias en un directorio con nombre largo.

por ejemplo, si desea eliminar la carpeta C:\Very long directory\that exceed\length limit\blah blah blah\abcde\folder to be deleted, puede usar el comando

subst x: "C:\Very long directory\that exceed\length limit\blah blah blah\abcde"

y luego puede eliminar X:\folder to be deleteden el Explorador de Windows o en el símbolo del sistema fácilmente. Para eliminar el alias de letra de unidad temporal, use el comando

subst x: /d

Intenté todas las otras respuestas (incluidas las respuestas de otras preguntas similares) y esta fue la única que terminó funcionando para mí. Y fue, con mucho, el más rápido.
glenneroo

1
Esta es, con mucho, la mejor respuesta: funciones simples e integradas, sin problemas con el registro. Debería ser la respuesta aceptada.
Kevin Roche

Fácilmente el método más limpio y directo, gracias Kenneth.
Seth

Esta respuesta me da miedo porque en realidad tengo una unidad X:. No hay suficiente información aquí y no recomiendo que la gente siga esto sin más explicaciones.
qodeninja

25

¡Cygwin rm -rffunciona bien en caminos largos!


3
¡Cygwin trabajó para mí perfectamente! Acabo de hacer un -rm -rf y todos los archivos se eliminaron.
Ranhiru Jude Cooray

3
También funcionó para mí bajo GNU bash, versión 4.1.10 (4)
-release

2
Funcionó muy bien cuando se ejecuta desde una ventana de comandos de Git Bash. Había instalado GitGui para eso.

22

Simplemente pase de Powershell al comando ejecutando a continuación:

Cmd /C "rmdir /S /Q <dir>" 

3
"El directorio no está vacío". Ups El OP quiere eliminar una carpeta no vacía.
leye0

¿Cómo es esto diferente a la respuesta de @herms?
bigbadmouse

18

La solución de Dentrasi es lo que funcionó mejor para mí, pero quería publicar los pasos específicos en una respuesta de alto nivel.

  1. Descargue e instale la última versión estable de 7zip .
  2. Ejecute el Administrador de archivos 7zip ( 7zfm.exe ).
  3. En el Administrador de archivos 7zip, navegue para que pueda ver el nombre de la carpeta que desea eliminar (es decir, está en la carpeta principal).
  4. Mantenga presionado el botón Shift.
  5. Haga clic en el botón " Eliminar ", ya sea en su teclado o en la barra de herramientas del Administrador de archivos 7zip; asegúrese de mantener presionada la tecla Mayús .
  6. Haga clic en el botón " Aceptar "; asegúrese de mantener presionada la tecla Mayús .

Buen intento, pero todavía no funcionó para mí con 10's k de carpetas recursivas. Solo rimraf funcionó.
Julian Knight

@JulianKnight: Sí, este enfoque tampoco terminó funcionando para mí el 100% del tiempo. Solo quería mencionarlo porque era uno de los procesos más directos, y al menos funcionó parte del tiempo. Lo único que he encontrado que ha funcionado el 100% del tiempo es el enfoque de secuencia de comandos del módulo Powershell + NTFSSecurity, que describí a continuación. El IIRC rimraf falló cuando lo llamé, que es cómo me metí en este lío en primer lugar. Vea este hilo de Node.js para más detalles: github.com/nodejs/node-v0.x-archive/issues/…
Mass Dot Net

Sí, siempre habrá problemas como ese. De hecho, fue el código de instalación de la biblioteca del Arduino IDE lo que me hizo en (Java), ¡accidentalmente seleccioné la carpeta que contenía las bibliotecas como una carpeta para instalar una biblioteca desde y hacia fuera! Terminé el proceso tan pronto como me di cuenta, pero ya tenía 10 de k de carpetas (¡maldita sea i7 / SSD!) La próxima versión principal de NPM está destinada a ayudar a resolver muchos de los problemas de instalación de la biblioteca profunda para Node, ya que las dependencias deben cumplirse desde Una estructura mucho más plana. Aún así, me alegro mucho de que alguien me haya puesto rimraf, fácil y gratis.
Julian Knight

@JulianKnight - Sí, hace un día o dos alguien me dijo que npm3 debería ayudar a aliviar estos problemas al evitar estructuras de carpetas de dependencia profundamente anidadas.
Mass Dot Net

No sé si "previene", pero trata las dependencias anidadas de manera más sensata, de modo que si su aplicación principal requiere la biblioteca X v1.0 y la biblioteca Y requiere Z, que también requiere X v1.0, se usará la biblioteca de nivel superior. Actualmente Z instalaría su propia versión de X.
Julian Knight

11

Hay dos cosas que ya no se mencionan en las respuestas existentes.

  1. Puede usar el prefijo de ruta de longitud extendida para acceder a rutas largas
  2. Con Windows 10, puede habilitar el soporte de ruta larga para uso general; sin embargo, tenga en cuenta que no todas las aplicaciones funcionarán con rutas largas, debe probar el software anterior. Solo el software con una entrada de manifiesto apropiada podrá hacer uso de esto.

Prefijo de ruta larga

La API de Windows tiene una función especial que admite nombres de ruta Unicode de hasta 32k caracteres de longitud (cada elemento tiene hasta 255 caracteres de longitud).

Esto a menudo se conoce erróneamente como nomenclatura UNC, pero no está relacionado.

El prefijo utilizado para indicarle a la API que use rutas Unicode largas es \\?\como en:

\\?\D:\very long path

Los nombres UNC se usan normalmente cuando se refieren a rutas en servidores remotos en el formulario \\servername\path name\file name. Puede combinar esto con el prefijo de ruta larga para:\\?\UNC\server\share

Tenga en cuenta que algunas aplicaciones, mal escritas pero lamentablemente bastante comunes, no admiten rutas de archivos UNC ni el prefijo de ruta larga.

Referencia: https://msdn.microsoft.com/en-gb/library/windows/desktop/aa365247(v=vs.85).aspx#maxpath

Largo camino de apoyo

Esta es una opción que se ha agregado a las versiones recientes de Windows 10. Al momento de la escritura, no está activada de manera predeterminada, ya que requiere soporte de aplicaciones específicas. Curiosamente, PowerShell tiene soporte incorporado, por lo que habilitar esta opción permitirá que se usen rutas largas directamente en los scripts de PowerShell.

Puede activarlo a través del editor de directivas de grupo si tiene una versión de Windows con eso. O simplemente puede usar el siguiente cambio en el Registro. Como siempre, haga una copia de seguridad de la sección del registro que está cambiando antes de hacer nada.

  1. Ejecutar regedit.exe.
  2. Confirme el aviso de UAC.
  3. Navega hasta la tecla: HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Group Policy Objects\{48981759-12F2-42A6-A048-028B3973495F}Machine\System\CurrentControlSet\Policies
  4. Crea o cambia la clave LongPathsEnabled.
  5. Si no existe, haga clic con el botón derecho en Políticas y seleccione Nuevo> Valor de Dword (32 bits) en el menú.
  6. Establecer LongPathsEnableda 1habilitar.

Cualquier aplicación con entradas de manifiesto apropiadas ahora tendrá acceso a las rutas largas estándar POSIX. Esto debería incluir las aplicaciones de la Tienda Windows.

Referencia: https://blogs.msdn.microsoft.com/jeremykuhne/2016/07/30/net-4-6-2-and-long-paths-on-windows-10/

ACTUALIZACIÓN 2017-04-09

@maoizm señaló un problema con la clave de registro anterior, así que investigué un poco más . Parece que ahora puede configurar la compatibilidad de nombre de archivo largo con una clave del sistema:

HKLM\SYSTEM\CurrentControlSet\Control\FileSystem LongPathsEnabled (Type: REG_DWORD)

Sin embargo, esto solo funciona para aplicaciones que están configuradas específicamente para usarlo (requiere una entrada en el archivo manifest.xml de la aplicación).

También debe tener en cuenta que no puede usar nombres de ruta relativos con este método.


{48981759-12F2-42A6-A048-028B3973495F}Machineparte de la ruta de registro será diferente en cada computadora, puede que no sea obvio para todos
maoizm 05 de

1
@maoizm: buen punto, gracias por resaltar eso. Consulte mi actualización para ver una alternativa si usa la actualización W10 Anniversary o posterior.
Julian Knight

Estoy escribiendo una biblioteca llamada FoundationIO, y estoy tratando de hacer que la ruta larga sea la predeterminada, ¿hay alguna función que pueda llamar o macro que pueda configurar para que el soporte de ruta larga se habilite automáticamente para cualquier usuario de mi biblioteca?
MarcusJ

Hola Marcus, ¿es esta una biblioteca nativa de Windows? Si es así, .NET tiene el soporte requerido ya presente como parte de la API de Windows relevante. Lamento no conocer los detalles, ya que no soy un programador de API de .NET o Win, pero los detalles deben poder buscarse en MSDN.
Julian Knight

8

Me gusta la solución cmd. Aunque quiero compartir otra solución que incluso funciona solo en Explorer: intente acortar los nombres de las carpetas principales antes de la eliminación: los nombres más cortos acortarán la ruta. Digamos que tienes esta estructura de árbol de la carpeta:

C:\

.. Proyectos

.. .. Algún proyecto impresionante durante la primavera de 2014

.. .. .. Alguna actividad en el parque de la ciudad un viernes

.. .. .. .. Bla bla bla bla bla bla bla bla bla bla bla bla bla

.. .. .. .. .. Archivos reales con nombres largos, también

En este caso, no puede eliminar las carpetas, tampoco puede eliminar o cambiar el nombre de los archivos. Si desea eliminar toda la estructura de la carpeta o parte de ella, puede cambiar temporalmente el nombre de las carpetas principales y acortar la ruta, y luego eliminar la carpeta. Los nombres pueden ser solo letras:

C:\

.. Proyectos

.. .. X

.. .. .. y

.. .. .. .. z

.. .. .. .. .. Archivos reales con nombres largos, también

En mi caso, solo quería eliminar toda la carpeta con muchas subcarpetas y archivos. Entonces no me importaban los nombres de las carpetas.


1
He escrito una pequeña herramienta que hace exactamente eso y la puse en GitHub. github.com/epsitec/Tools-RecursiveDelete
Pierre Arnaud

1
Todos los comandos o Shift + DEL no funcionan para mí, pero esto sí.
larkee

Realmente no funciona cuando tienes 10 k de carpetas anidadas
Julian Knight

tampoco funciona si una de las carpetas tiene un nombre realmente largo (no puede cambiar el nombre de la carpeta infractora).
aucuparia

7

La solución 7-zip funciona muy bien. Otra opción si tiene instalado git es abrir un bash shell y usar:

rm -f

(o rm -rfpara carpetas)


1
Para los no iniciados, explique cómo "abre un shell bash" en Windows.
OMY

1
@OMY necesitas git instalado. Luego, desde el menú de inicio, puede abrir git bash o si optó por tener las extensiones de shell cuando instaló git, puede hacer clic derecho en o en una carpeta y seleccionarGit Bash Here
Usuario

4

Sugiero Total Commander (shareware, pero sigue funcionando después del período de prueba con solo una pantalla de inicio de molesta mínima). Esa es la forma en que siempre resuelvo los problemas de nombre de archivo demasiado largos .


1
Gracias al señor que encontré esto. Tener problemas para eliminar una carpeta node_modules porque decide anidar estúpidamente los directorios.
Alias

Bueno, @Alias, Total Commander hace que ese problema sea más fácil de detectar, al menos para mí. Después de identificar dicho problema, chkdskdebería resolverlo.
Sopalajo de Arrierez

La versión 7.0 no funciona, muestra un mensaje de error y sugiere realizar la operación como administrador, que también falla.
izogfif

@izogfif: la última versión de hoy es 8.52a. Yo probaría este. No proporciona detalles sobre su mensaje de error, pero podría tener alguna inconsistencia en la estructura del archivo que debe resolverse (al menos para NTFS) con "chkdsk c: / f" (suponiendo que la unidad C :).
Sopalajo de Arrierez

2

También puede eliminarlos con su nombre corto equivalente. dir /xte los mostrará.


2

Creé un programa simple de Java que usa robocopy para eliminar los archivos. El frasco es ejecutable. Para una salida adicional, ejecútelo desde la línea cmd.

https://drive.google.com/file/d/0B5pSEjxJvt_1WVp1T3puSm1CNjg/view?usp=sharing


2
Y si no desea usar Java, puede usar esta herramienta que escribí usando .NET ( github.com/epsitec/Tools-RecursiveDelete ).
Pierre Arnaud

@PierreArnaud gran utilidad. Necesitaba algo como esto para la automatización de la línea de comandos. @ CamHart buen trabajo de ti también! ¡Gracias chicos!
amitthk

1

He intentado todas las otras respuestas, pero no funcionaron (al menos para mí).

¡Encontré delincuente y trabajé bastante bien y bastante rápido!

Su versión de prueba está limitada a 3 acciones / 15 días, pero se puede usar si solo desea eliminar algunas carpetas / archivos:


1

Directorios más grandes también está diseñado para esta tarea. ingrese la descripción de la imagen aquí

  • Descargar
  • Utiliza una llamada recursiva con RemoveDirectoryW para eliminar directorios existentes
  • Utiliza un repositorio de archivos propio para directorios recién creados
  • Los archivos se pueden mover de los directorios antes de eliminar los directorios de contacto.
  • Rápido, aunque navegar hasta la parte superior del directorio es un clic por directorio anidado
  • Windows XP (SP3) y hasta
  • Código no administrado sin firmar sin instalador, por lo que es posible una advertencia de Smartscreen cuando se ejecuta desde una carpeta de repuesto, por ejemplo, escritorio.

Más información en CodeProject .


Lea Cómo recomiendo el software para obtener algunos consejos sobre cómo debe recomendar el software. Debe proporcionar al menos un enlace, información adicional sobre el software en sí y cómo se puede usar para resolver el problema en la pregunta.
DavidPostill

@David: ¿Mejor? Link fue muy útil, gracias.
Laurie Stearn

1

Enfrenté este problema en Windows 10 y encontré esta solución fácil.

  1. Entra un poco más profundo de tu árbol de carpetas.
  2. Arrastre y suelte una carpeta desde algún lugar en el medio del árbol hasta el comienzo del árbol mediante la barra de direcciones.
  3. Como en mi imagen, arrastre y suelte el cuadro rojo en el cuadro verde. (en este caso, la ruta es más corta, pero para rutas largas también funciona)
  4. Luego, su ruta se acorta y se elimina de forma normal utilizando la tecla Eliminar.

ingrese la descripción de la imagen aquí


1

Obtuve la respuesta perfecta aquí (para archivos). Funciona en Windows 10.

REM Make sure there is no \ at the end of either path!
robocopy "C:\...\...\...\long\path" "C:\DeleteMe" "FileName" /MOV
REM Note: this ^ can be called many times before...:

REM Finally, recursively delete the higher up DeleteMe directory.
rmdir /S /Q DeleteMe

Ver también: https://msdn.microsoft.com/en-us/library/aa365247.aspx#maxpath

Ni una sola respuesta alternativa en 4 preguntas fue suficiente para mis necesidades. De nada mundo.


0

Finalmente descubrí cómo hacer esto a través de Powershell. Estas son las instrucciones que seguí para que esto funcione en Windows 7:

  1. Cree una nueva carpeta llamada NTFSSecurity en la carpeta C: \ Users \ XXXX \ Documents \ WindowsPowerShell \ Modules \ NTFSSecurity , donde XXXX es su nombre de usuario de Windows. Ejemplo: si mi nombre de usuario era " aspnyc ", la nueva carpeta sería C: \ Users \ aspnyc \ Documents \ WindowsPowerShell \ Modules \ NTFSSecurity .

  2. Descargue el paquete del módulo PowerShell del sistema de archivos de seguridad : debe estar disponible como un simple archivo ZIP.

  3. Abra una consola Powershell, ejecute Get-Module -ListAvailable y asegúrese de que NTFSSecurity aparezca en algún lugar de la lista de módulos registrados.
  4. En la consola de Powershell, ejecute Import-Module NTFSSecurity .
  5. En la consola de Powershell, ejecute Remove-Item2 "YYYY" -Recurse , donde YYYY es la ruta de Windows a la carpeta que desea eliminar de forma recursiva (por ejemplo, C: \ Potatoes \ Badgers \ FolderToDelete ).

0

Finalmente descubrí cómo hacer esto con Powershell en Windows 10 donde los nombres de archivo individuales eran demasiado largos. Estos son los pasos que seguí para que esto funcione en Windows 10:

  1. Descargue el paquete del módulo PowerShell del sistema de archivos de seguridad : debe estar disponible como un simple archivo ZIP.
  2. Extraiga el archivo Zip como una carpeta NTFSSecurity en el directorio C: \ WINDOWS \ system32 \ WindowsPowerShell \ v1.0 \ Modules.
  3. Abra una consola Powershell con la elevación administrativa (también conocido como Modo administrador) y ejecute Get-Module -ListAvailable y asegúrese de que NTFSSecurity aparezca en algún lugar de la lista de módulos registrados.
  4. Ejecute Set-ExecutionPolicy Unrestricted para omitir el modo de ejecución firmado. Tienes que confirmar esta acción con una Y (es)
  5. Finalmente, cd a la carpeta que desea eliminar.
  6. En la consola de Powershell, ejecute Import-Module NTFSSecurity .
  7. En la consola de Powershell, ejecute Remove-Item2 "YYYY" -Recurse , donde YYYY es la ruta de Windows relativa o absoluta a la carpeta que desea eliminar de forma recursiva (por ejemplo, C: \ Potatoes \ Badgers \ FolderToDelete ).
  8. Comprueba si funcionó.
  9. Finalmente, vuelva al modo de ejecución firmado con Set-ExecutionPolicy Restricted . Debe confirmar esta acción con Y (es).

0

Si tiene instalado Bash en Ubuntu en Windows, puede ingresar al directorio principal en un símbolo del sistema normal y luego escribir:

bash -c "rm -rf dirname_here"

Lo que inicia bash, elimina recursivamente el directorio de Linux donde no hay restricciones de nombre de archivo, y luego vuelve a su símbolo del sistema regular.


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.