R 中的 Windows/Cygwin 链接
[最初发布于 RStudio 的支持网站,但看起来就像这是一个核心 R 问题,而不是 RStudio。]
我试图弄清楚如何创建一个将在 R 中遍历的文件系统链接。我已经尝试了 Cygwin符号链接和Windows 链接无济于事。我这样做是因为我有一个充满大型数据文件的大目录,我希望避免将其复制到我的工作区。
为了创建符号链接,我在 Cygwin 中执行了 ln -s ../otherdir/data data 。如果我然后执行ls data/
,我可以通过链接查看数据文件。
为了创建 Windows 链接,我在 Windows 资源管理器中的 otherdir/data/
目录中进行了“复制”,然后在工作区中进行了“粘贴快捷方式”并将名称更改为 data.lnk
。如果我双击该链接,我就会正确地通过该链接。
所以这两个链接都是正确定位的。
现在在 RStudio 中,我得到以下输出,表明这两个链接都无法遍历:
> dir()
[1] "data" "data.lnk" "docs" "src" "tmp"
> dir('data')
character(0)
> dir('data.lnk')
character(0)
> dir('data/')
character(0)
> dir('data.lnk/')
character(0)
是否有一些可以工作的变体?我使用的是 Windows 7 和 R 2.13.1。
[originally posted at RStudio's support site, but it looks like it's a core R issue, not RStudio.]
I'm trying to figure out how to create a filesystem link that will be traversed within R. I've tried both Cygwin symlinks & Windows links to no avail. I'm doing this because I've got a big directory full of large data files that I'd like to avoid copying to my workspace.
To create the symlink, I did ln -s ../otherdir/data data
in Cygwin. If I then do ls data/
, I can see the data files through the link.
To create the Windows link, I did a "copy" in Windows Explorer on the otherdir/data/
directory, then did "paste shortcut" in my workspace and changed the name to data.lnk
. If I double click that link, I'm taken correctly through the link.
So both links are correctly targeted.
Now in RStudio, I get the following output, indicating that neither link can be traversed:
> dir()
[1] "data" "data.lnk" "docs" "src" "tmp"
> dir('data')
character(0)
> dir('data.lnk')
character(0)
> dir('data/')
character(0)
> dir('data.lnk/')
character(0)
Is there some variation on this that will work? I'm using Windows 7 and R 2.13.1.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
Windows 快捷方式并不是真正的文件系统链接。这是一个常规文件,资源管理器知道要以不同的方式对待。对于其他程序来说,它只是一个文件。
根据 Wikipedia,Cygwin 符号链接是作为快捷方式实现的,而不是真正的符号链接,因此它也会有同样的问题。
您是否尝试过使用
mklink
命令创建链接,如此处?免责声明:我自己没有尝试过。
A Windows shortcut isn't really a filesystem link. It's a regular file, that Explorer knows to treat differently. To other programs, it's just a file.
According to Wikipedia, a Cygwin symlink is implemented as a shortcut, rather than a true symbolic link, so it will have the same problem.
Have you tried using the
mklink
command to create the link, as described here?Disclaimer: I haven't tried it myself.