【发布时间】:2011-12-13 08:09:20
【问题描述】:
我正在尝试在 Perl 中运行以下代码:
symlink($oldname,$newname) or die print "$!\n";
但我收到一条错误消息:
The symlink function is unimplemented at C:\...\CreateSymlink.pl line 14.
如果我将代码更改为:
link($oldname,$newname) or die print "$!\n";
那么创建的硬链接没有错误。
使用 activestate Perl 和 Windows 7 32 位。
任何想法为什么会发生这种情况?我正在尝试为文件创建符号链接。
P.S:我是 Perl 的新手。
【问题讨论】:
-
谷歌搜索
windows symlink perl会返回很多关于此的信息。简短的回答是,没有像 Windows 中的 *nix 那样的“符号链接”这样的东西。 perl 文档告诉您,如果底层操作系统不支持符号链接,symlink将失败。 -
@Brian Roach 当然有......好吧,在过去 5 年发布的 Windows 版本中;-)
-
@pst - 注意“like there is in *nix”这句话。他们……不一样。你会认为 activestate 会做一些事情而不仅仅是失败,但他们不会。
-
@pst - 这在 perl 中不可用;这是一个系统命令。添加您需要以提升的权限运行才能创建 NTFS 符号链接的事实,我将坚持“不一样”
-
@BrianRoach Junctions(目录符号链接)至少可以在不需要提升权限的情况下创建。