Как создать жесткую ссылку с помощью команды New-Hardlink PowerShell PSCX
-
19-09-2019 - |
Вопрос
Я хочу создать новую жесткую ссылку с помощью командлета PowerShell Community Extensions PSCX New-Hardlink http://pscx.codeplex.com/.Я прочитал файл man и перепробовал почти все комбинации команд, но это не сработает.Что я упускаю из виду?(Я знаю о fsutil, но я хочу использовать этот командлет / псевдоним)
Вот структура каталогов:E:\Source E: est
Вот несколько вариантов команды, которые я опробовал:
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"
Вот предполагаемый синтаксис:
New-Hardlink [-Path] <String> [-Target] <String> [<CommonParameters>]
-Path <String>
Path to the new link.
-Target <String>
Target of the link.
Результатом всегда является некоторое из из:
New-Hardlink : Unable to find the file 'E:\Source.
Работает ли эта команда не с каталогами, а только с файлами?
Решение
Я застенчиво отвечу на свой собственный вопрос.
Да, действительно, жесткие ссылки ссылаются на файлы.Чтобы выполнить это с каталогами, команда New-Junction должна использоваться следующим образом:
New-Junction E:\Test\Dest E:\Source
Первый параметр относится к местоположению, в котором вы хотели бы разместить новое соединение.
Второй параметр относится к каталогу, который вы хотите создать
Другие советы
Для тех, кто приходит из Google:
PowerShell 5.0 и выше поддерживает создание символических ссылок и переходов с использованием New-Item
командлет.
Чтобы создать символическую ссылку на файл:
Нажав на B.txt, вы перейдете к A.txt.
New-Item -ItemType SymbolicLink -Name B.txt -Target A.txt
New-Item -ItemType SymbolicLink -Path C:\Temp\B.txt -Value A.txt
Чтобы создать символическую ссылку в каталоге:
New-Item -ItemType SymbolicLink -Name B_Directory -Target C:\A_Directory
New-Item -ItemType HardLink -Path C:\B.txt -Value C:\A.txt
Чтобы создать соединение в каталоге:
New-Item -ItemType Junction -Path C:\Junction -Value C:\A_Directory