Como você cria um simbólico (hardlink) no CMD.exe?

6

Eu preciso fazer isso sem instalar o software ...

Alguma idéia?

MSDOS (cmd.exe) no Windows XP

    
por qodeninja 17.10.2009 / 00:38

4 respostas

9

Você está falando sobre o MS-DOS ou o Windows XP?

Como é provável que você esteja apenas falando sobre fazer isso a partir de um prompt de comando no Windows XP, responderei primeiro a esse caso ... > smile <

Em um volume NTFS no Windows XP, você pode usar a ferramenta "fsutil" para criar um link físico:

fsutil hardlink create <destination filename> <source filename>

Tanto a origem quanto o destino devem estar no mesmo volume NTFS.

O MS-DOS suporta apenas o sistema de arquivos FAT (em vários tipos). O FAT não suporta "oficialmente" hard links. Você pode criar o efeito de um link físico tendo duas entradas de diretório que se referem à mesma cadeia FAT. Isso seria detectado como um "erro" pelo CHKDSK e reparado, no entanto.

Se você não se importou em manipular manualmente as estruturas de diretório usando o DEBUG, poderá fazer isso sem instalar nenhum software. Não seria bonito, mas funcionaria.

Como eu disse, é tecnicamente ilegal ter duas entradas de diretório apontando para a mesma cadeia FAT. Executar um desfragmentador de disco nesse volume provavelmente danificaria o sistema de arquivos. O CHKDSK definitivamente veria um "link rígido manipulado pelo júri" como um erro do sistema de arquivos.

    
por 17.10.2009 / 00:43
3

fsutil hardlink funciona apenas para arquivos. Se você quiser criar um link para o diretório, use a junção do pacote sysinternals.

Lembre-se: se você tentar excluir o link, o conteúdo do diretório de destino também será excluído. Para remover o link, você deve usar a opção juncion -d .

Você pode reconhecer links no Total commander: eles têm ícones diferentes dos diretórios. No Windows Explorer, esses links parecem os mesmos de qualquer diretório.

    
por 17.10.2009 / 15:20
2

linkd.exe é encontrado no kit de recursos do Windows 2003. Acabei de testar isso e funciona melhor do que junções NTFS. Se você pode baixar o linkd.exe e fazê-lo funcionar no XP, você estará pronto.

    
por 24.05.2012 / 19:19
1
Em primeiro lugar, é melhor você estar ciente de que o cmd.exe é NÃO do MS-DOS e que não há vestígios remanescentes do DOS em nenhuma versão do Windows atualmente. DOS morreu após o Windows 95/98 / ME, XP e seus sucessores foram construídos no NT, que nunca teve qualquer DOS nele. O cmd.exe é um aplicativo nativo do Windows que aparece superficialmente como uma linha de comando e é capaz de aceitar comandos semelhantes aos antigos comandos do DOS, mas é NÃO do DOS.

Em segundo lugar, antes de você criar hard links no Windows, convém ler e entender: link

Finalmente, para fazer o trabalho sujo, use fsutil como Evan descreve acima, ou como está documentado aqui: link

    
por 17.10.2009 / 12:24