Como criar um Hardlink usando o comando New-Hardlink PowerShell PSCX
-
19-09-2019 - |
Pergunta
Eu quero criar um novo Hardlink com o Extensions PSCX PowerShell Comunidade commandlet Nova Hardlink http: //pscx.codeplex .com / . Eu li o arquivo homem e tentou quase todas as combinações de comandos, mas não vai funcionar. o que estou perdendo? (Eu sei sobre fsutil, mas eu quero usar este commandlet / alias)
Aqui está a estrutura de diretórios: E: \ Source E: \ Test
Aqui estão algumas variações do comando que eu tentei:
New-Hardlink E:\Test\Source E:\Source
New-Hardlink -Path:"E:\Test\Source" -Target:"E:\Source"
New-Hardlink E:\Source E:\Test\Source
New-Hardlink E:\Source E:\Test\
New-Hardlink -P:"E:\Source" -T:"E:\Test\Source"
Aqui está o suposto sintaxe:
New-Hardlink [-Path] <String> [-Target] <String> [<CommonParameters>]
-Path <String>
Path to the new link.
-Target <String>
Target of the link.
O resultado é sempre alguma de de:
New-Hardlink : Unable to find the file 'E:\Source.
Será que este comando não trabalho com diretórios, mas somente com arquivos?
Solução
Vou timidamente responder a minha própria pergunta.
Sim, de fato hardlinks se referir a arquivos. Para conseguir isso com os diretórios o comando New-junção deve ser usado assim:
New-Junction E:\Test\Dest E:\Source
O primeiro parâmetro refere-se ao local que você gostaria de colocar o novo Junction.
O segundo parâmetro refere-se ao diretório que você deseja junção
Outras dicas
Para quem vem do Google:
PowerShell 5.0 e acima tem suporte para a criação de vínculos simbólicos e junções usando o cmdlet New-Item
.
Para criar um link simbólico em um arquivo:
Clicando sobre b.txt irá levá-lo para A.txt.
New-Item -ItemType SymbolicLink -Name B.txt -Target A.txt
New-Item -ItemType SymbolicLink -Path C:\Temp\B.txt -Value A.txt
Para criar um link simbólico em um diretório:
New-Item -ItemType SymbolicLink -Name B_Directory -Target C:\A_Directory
New-Item -ItemType HardLink -Path C:\B.txt -Value C:\A.txt
Para criar uma junção em um diretório:
New-Item -ItemType Junction -Path C:\Junction -Value C:\A_Directory