¿Cómo puedo eliminar una carpeta o archivo con una ruta demasiado larga en la papelera de reciclaje?

Tengo el programa que borra y copia algunas carpetas o archivos con ruta larga (cuando lenght > MAX_PATH) En este programa uso el prefijo \\?\ eso me da la posibilidad de eliminar carpetas o archivos con una ruta larga pero solo en una función simple Delete(). Necesito eliminar archivos en la Papelera de reciclaje y para esto necesito usar el SHFileOperation función que me da la posibilidad de eliminar archivos en la papelera de reciclaje, pero esta función no admite el prefijo \\?\ . ¿Alguien puede ayudarme con este problema?

¿Hay alguna alternativa para SHFileOperation. ¿Cómo puedo evitar este problema?

Algunos enlaces:

preguntado el 31 de julio de 12 a las 10:07

1 Respuestas

La papelera de reciclaje es una carpeta de shell especial. Es parte de la concha. Sin embargo, el shell tiene la limitación de que las rutas no deben ser más largas que MAX_PATH. Entonces, la misma limitación se aplica a la papelera de reciclaje.

Simplemente no puede poner archivos/carpetas con rutas largas en la papelera de reciclaje. Imposible.

Editar: Windows 10 tiene el límite MAX_PATH levantado. Ver esta entrada de msdn

Respondido 04 Jul 20, 09:07

El shell parece ser capaz de hacerlo, cuando realizo la eliminación del explorador... - Juan Gietzen

No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas or haz tu propia pregunta.