使用PowerShell创建SymbolicLink不起作用

时间:2017-09-07 06:23:31

标签: powershell symlink

我正在运行我的PowerShell作为管理员,我尝试创建一个指向另一个目录的符号链接。 为此,我想使用New-Item cmdlet,如中所述 Microsoft documentation

New-Item -ItemType SymbolicLink -Path C:\Temp -Name TestDir -Value C:\LinkedDir

我确定,所有目录(符号链接本身除外)都存在,但我仍然收到此错误:

New-Item : Type unkonwn Typ. Only "file" and "directory" can be used.
In Line:1 Row:9
+ New-Item <<<<  -ItemType SymbolicLink -Path C:\Temp -Name TestDir -Value C:\LinkedDir
    + CategoryInfo          : InvalidArgument: (:) [New-Item], PSArgumentException
    + FullyQualifiedErrorId : Argument,Microsoft.PowerShell.Commands.NewItemCommand

如果我像这样使用New-Item cmdlet

PS C:\Temp> New-Item -ItemType SymbolicLink

我可以手动输入路径,这意味着我的PowerShell实际上知道了cmdlet。

有谁知道问题是什么,可以帮助我吗?

2 个答案:

答案 0 :(得分:2)

上面的代码不适用于PowerShell 2.0。 在Mark Wragg询问我使用哪个PS版本之后,我升级到4.0并且它有效。 看来,PS 2.0中不支持New-Item cmdlet中的某些参数。

答案 1 :(得分:-1)

New-Item SymbolicLink错误解决方法:

在我的计算机上,该命令不起作用:

New-Item -ItemType SymbolicLink -Path $link_fullpath -Target $Target

如果$link$target在同一单元上,例如,如果$Target= "y:\xxx\myfile1"$link= "y:\zzz\Myfile2"(都在Y:上)。如果不在同一单元上,则可以使用。

另一方面,幸运的是,如果我像这样使用New-Item-Name可以工作:

New-Item -ItemType SymbolicLink -name $name_link -Path $path_link -Target $target

$name_link = "Myfile2"$path_link = "y:\zzz"$Target = "y:\xxx\myfile1"

因此,如果您遇到相同的错误,请在-Name中使用New-Item SymbolicLink