如何在Windows 7中使用ruby创建符号链接

时间:2014-10-26 04:14:20

标签: ruby symlink

我需要创建一个js文件的符号链接。 我尝试了下面的内容:

x = "C:/Program Files/apache-tomcat-7.0.41/webapps/analytics/js/analyticsController.js"
y = "c:/svn/web/src/main/webapp/analytics/js/analyticsController.js"
exec ("mklink #{x} #{y}")

以及system ("mklink #{x} #{y}")

他们都没有创建符号链接。 我能够使用ruby脚本

运行system ("echo Hello") #prints hello之类的命令

mklink不会创建符号链接。控制台也没有显示任何结果。

2 个答案:

答案 0 :(得分:2)

Ruby 2.3支持Windows上的符号链接。您可以使用File.symlink

答案 1 :(得分:1)

Windows上的mklink command(7及以上版本)需要一个参数来表示要进行的链接类型。 Windows上的符号链接是普通用户可以自己制作的“快捷方式”。您可能打算创建的是一个硬链接或“连接点”。创建联结点的命令是:

mklink /J <destination> <source>

所以,在红宝石中,这是:

exec ("mklink /J #{x} #{y}")

显然cmd.exe shell只能访问mklink,因此必须先调用它。

exec ("cmd.exe /c \"mklink /J #{x} #{y}\"")

最后一点(谨慎)。在Windows上建立链接需要完全管理员访问权限。