Precisa de funcionalidade de link simbólico SEM caminho simbólico

0

executando o Windows 10 Pro.

Eu estou tentando contornar a limitação de 260 caracteres MAX_PATH nativo da API do Win32.

Eu criei uma série de backups, que, digamos, são projetados para fazer backup de nomes de arquivos "TRUNCATED".

Por exemplo, vamos referenciar um arquivo com o nome completo do arquivo:

D:/Folder1/Folder2/Folder3/Folder4/Folder5/Folder6/Folder7/Folder8/Folder9/file.txt

Para começar, eu teoricamente encurtei este nome de arquivo por meio de mover o arquivo para uma pasta oculta Short_Name mais próxima da raiz, de forma que o arquivo agora existisse LITERALMENTE como

D:/Short_Name/Folder9/file.txt

No entanto, a fim de manter minha estrutura de arquivo original intacta, de modo que eu possa reutilizar essa tática para executar o mesmo caminho encurtando em outro lugar, mas ainda usar os mesmos arquivos de configuração e software para executar duplicação de arquivos e sincronização pasta (s)

(como D:/Folder1/.../Folder9/ )

Eu incluí um link simbólico chamado " Folder9 "

(obtido usando C:\Windows\system32> mklink /J (ou /D ) "D:/Folder1/.../Folder9/" "D:/Short_Name/Folder9/" no prompt de comando)

dentro de

D:/Folder1/Folder2/Folder3/Folder4/Folder5/Folder6/Folder7/Folder8/

tal que o link se parece com

D:/Folder1/.../Folder9/

mas aponta para D:/Short_Name/Folder9/ .

AGORA, obviamente, eu poderia ter usado um produto regular e comum

Right-click > "Create Shortcut"

mas o nome do caminho de destino do link de tal link simbólico seria absoluto.

(por exemplo, um atalho em D: apontando para D:/Short_Name/Folder9/file.txt seria copiado para C: , mas o atalho copiado duplicado em C: ainda apontaria para D:/Short_Name/Folder9/file.txt .)

Links simbólicos, por outro lado ...

(por exemplo, os criados por meio de C:\Windows\system32> mklink ... )

... copie links relativos sem problemas ...

(por exemplo, D:/Folder1/.../Folder9/ seria copiado como C:/Folder1/.../Folder9/ )

... e o destino do link seria copiado de

D:/Short_Name/Folder9/

para

C:/Short_Name/Folder9/

... MAS -

O problema AQUI é que AGORA os nomes de arquivos LITERAIS SÃO INTERPRETADOS como suas versões mais longas, UN-TRUNCATED, que NÃO ocorreriam usando o

Right-click > "Create Shortcut"

método

.

Tanto quanto eu posso dizer, quando usando mklink para criar um link simbólico para um diretório (não um arquivo - eu não sei se funciona de forma diferente para arquivos), o nome do arquivo LITERAL do sistema de qualquer arquivo alojado dentro de um O diretório como D:/Short_Name/Folder9/ parece ser apenas a totalidade do caminho simbólico mklink , isto é, o de

D:/Folder1/Folder2/Folder3/Folder4/Folder5/Folder6/Folder7/Folder8/Folder9/file.txt

mesmo se a localização real do arquivo for somente

D:/Short_Name/Folder9/file.txt .

PERGUNTA:

Is there ANY way of creating a symbolic link which will function as a standard folder, but which will ALSO maintain the RELATIVE, LITERAL, TRUNCATED version of a filename when copied to a new drive?

Por favor e obrigado.

    
por Stephen Hanson 12.04.2017 / 06:44

0 respostas