Um truque que utilizei para contornar a limitação do comprimento “caminho completo e nome de ficheiro” a fim de mover, copiar ou apagar algo é encurtá-lo “entrando” a meio (ou mais) ** utilizando uma letra de unidade mapeada apontando para uma pasta no caminho***.
então você tem c:\someadamente um caminho longo…\e barras de pés]pastas de ficheiros de arquivo .txt.
Então mapeie uma letra de unidade arbitrária para algum lugar ao longo do caminho de modo que o primeiro pedaço do caminho se torne apenas alguns caracteres longos. Pré-requisito - a pasta tem de estar numa pasta partilhada (que pode já estar se estiver num servidor, que é onde tenho de o fazer), e se ainda não estiver, então escolha uma pasta algures no caminho e partilhe-a. Dependendo do seu ambiente e nível de paranóia, permita a todos modificar o acesso à partilha, desde que as permissões NTFS sejam razoavelmente restritivas. Se quiser, basta permitir modificar os direitos apenas para a sua própria conta.
Agora vá para a pasta partilhada ou uma dentro dela e partilhe-a, ou use a linha de comando como se segue. Assuma que partilha a pasta “foo” como “fooshare”, depois pode fazer
net use x: \mycomputername\fooshare\bar\folders /persistent:no
e a drive X: agora aponta directamente para a pasta “folders” dentro dessa partilha, por isso “x:\oldfiles\myoldfile.txt” é agora bastante curto.
(O “/persistent:no” significa que isto não vai sobreviver à próxima reinicialização e confundi-lo mais tarde. Não se esqueça de desembrulhar a sua pasta quando terminar)
Lembre-se, não precisa necessariamente de partilhar a pasta que contém o ficheiro, se já estiver dentro de uma pasta partilhada pode apenas mapear através a partilha e as pastas aninhadas para uma pasta de destino near para o ficheiro e isso funciona bem.
Tive de utilizar esta técnica fazendo uma robocópia massiva entre dois servidores quando nos apercebemos que os utilizadores tinham unidades mapeadas bastante profundas na estrutura de pastas, por isso tinham sido capazes de utilizar 255 caracteres a partir daí, mas isso excedeu o comprimento total do caminho do ficheiro quando acedido a partir da raiz da unidade local.