Um truque que usei para contornar a limitação de comprimento "caminho completo e nome do arquivo" para mover, copiar ou excluir algo é encurtá-lo 'invadindo' até a metade (ou mais) usando uma letra de unidade mapeada apontando para uma pasta caminho abaixo .
então você tem c: \ some \ long \ path ... \ e \ foo \ bar \ folders \ oldfiles \ myoldfile.txt.
Em seguida, mapeie uma letra de unidade arbitrária para algum lugar ao longo do caminho, para que o primeiro pedaço do caminho tenha apenas alguns caracteres. Pré-requisito - a pasta deve estar em uma pasta compartilhada (que já pode estar se estiver em um servidor, que é onde eu precisei fazer isso) e, se ainda não estiver, escolha uma pasta em algum lugar no caminho e compartilhe. Dependendo do seu ambiente e nível de paranóia, permita que todos modifiquem o acesso ao compartilhamento, desde que as permissões NTFS sejam razoavelmente restritivas. Se desejar, permita apenas os direitos de modificação em sua própria conta.
Agora vá para a pasta compartilhada ou uma dentro dela e compartilhe-a ou use a linha de comando da seguinte maneira. Suponha que você tenha compartilhado a pasta "foo" como "fooshare", então você pode fazer
net use x: \\mycomputername\fooshare\bar\folders /persistent:no
e a unidade X: agora aponta diretamente para a pasta "pastas" dentro desse compartilhamento, então "x: \ oldfiles \ myoldfile.txt" agora é bem curto.
(O "/ persistent: no" significa que isso não sobreviverá à próxima reinicialização e o confundirá mais tarde. Não se esqueça de cancelar o compartilhamento de sua pasta quando terminar.)
Lembre-se, você não tem que compartilhar a pasta contendo o arquivo, necessariamente, se ele já está dentro de uma pasta compartilhada você pode simplesmente mapear através da participação e as pastas aninhadas para uma pasta de destino próximo ao arquivo e que funciona bem.
Eu tive que usar essa técnica para fazer uma robocopia massiva entre dois servidores quando percebemos que os usuários haviam mapeado unidades bastante profundas na estrutura da pasta, para que pudessem usar 255 caracteres a partir daí, mas que excederam o comprimento total do caminho do arquivo quando acessado a partir da raiz da unidade local.