Un truco que he usado para sortear la limitación de longitud de "ruta completa y nombre de archivo" para mover, copiar o eliminar algo es acortarlo 'entrando' a la mitad (o más) usando una letra de unidad asignada que apunta a una carpeta camino por el camino .
entonces tienes c: \ some \ long \ path ... \ and \ foo \ bar \ carpetas \ oldfiles \ myoldfile.txt.
Luego, asigne una letra de unidad arbitraria a algún lugar a lo largo del camino para que el primer fragmento del camino tenga solo unos pocos caracteres. Requisito previo: la carpeta debe estar en una carpeta compartida (que ya puede estar si está en un servidor, que es donde he necesitado hacer esto), y si aún no está, elija una carpeta en algún lugar de la ruta y compártelo Dependiendo de su entorno y nivel de paranoia, permita que todos modifiquen el acceso al recurso compartido siempre que los permisos NTFS sean razonablemente restrictivos. Si lo desea, solo permita modificar los derechos solo a su propia cuenta.
Ahora vaya a la carpeta compartida o una dentro de ella y compártala, o use la línea de comando de la siguiente manera. Supongamos que compartió la carpeta "foo" como "fooshare", entonces podría hacer
net use x: \\mycomputername\fooshare\bar\folders /persistent:no
y la unidad X: ahora apunta directamente a la carpeta "carpetas" dentro de ese recurso compartido, por lo que "x: \ oldfiles \ myoldfile.txt" ahora es bastante corto.
(El "/ persistente: no" significa que esto no sobrevivirá al próximo reinicio y lo confundirá más adelante. No olvide des-compartir su carpeta cuando haya terminado).
Recuerde, no tiene que compartir la carpeta que contiene el archivo necesariamente, si ya está dentro de una carpeta compartida, puede asignarla a través del recurso compartido y las carpetas anidadas a una carpeta de destino cerca del archivo y eso funciona bien.
Tuve que usar esta técnica haciendo una robocopia masiva entre dos servidores cuando nos dimos cuenta de que los usuarios habían asignado unidades de disco bastante profundas en la estructura de carpetas, por lo que habían podido usar 255 caracteres desde allí, pero eso excedió la longitud total de la ruta del archivo cuando se accede desde la raíz de la unidad local.