6

我想使用 PowerShell Community Extensions PSCX commandlet New-Hardlink http://pscx.codeplex.com/创建一个新的硬链接。我已经阅读了 man 文件并尝试了几乎所有命令组合,但它不起作用。我错过了什么?(我知道 fsutil,但我想使用这个命令行开关/别名)

这是目录结构: E:\Source E:\Test

以下是我尝试过的命令的一些变体:

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.

此命令是否不适用于目录而仅适用于文件?

4

2 回答 2

8

我会不好意思地回答我自己的问题。

是的,确实硬链接指的是文件。要使用目录完成此操作,应使用 New-Junction 命令,如下所示:

New-Junction E:\Test\Dest E:\Source

第一个参数是指您希望放置新交汇点的位置。

第二个参数是指你要Junction的目录

于 2009-08-20T07:21:34.800 回答
4

Powershell 5+ 包含创建任何类型的硬/软链接和连接的本机方式。

对于来自 Google 的用户:

PowerShell 5.0 及更高版本支持使用New-Itemcmdlet 创建符号链接和连接点。

在下文中,单击B.txt将带您到A.txt. 对于目录也是如此。

# To create a symbolic link on a file:
New-Item -ItemType SymbolicLink -Name B.txt -Target A.txt
New-Item -ItemType SymbolicLink -Path C:\Temp\B.txt -Value A.txt

# To create a hard-link on a file:
New-Item -ItemType HardLink -Path C:\B.txt -Value C:\A.txt

# To create a symbolic link on a directory:
New-Item -ItemType SymbolicLink -Name B_Directory -Target C:\A_Directory

# To create a junction on a directory:
New-Item -ItemType Junction -Path C:\Junction -Value C:\A_Directory
于 2018-02-06T13:26:45.837 回答