tra*_*ton 4 windows linux shortcuts symbolic-link macos
我有一个文件夹,可以与 Dropbox 等在线服务同步,然后与其他具有不同操作系统的计算机同步。此文件夹中我的文件/文件夹组织的一部分使用符号链接/别名(我的家用计算机是 Mac)。当它将文件夹同步到 Windows 计算机时,遗憾的是无法识别符号链接和别名,但可以识别快捷方式。
有没有办法在具有跨平台兼容性的 Mac 或 Windows 上创建一次符号链接/快捷方式?否则我将不得不为每个文件创建两个链接,一个用于 Mac/Linux,一个用于 Windows。
注意:这个文件夹的用途,因为我知道有人会问,是在文件夹层次结构中组织和存储大量文件。有时,文件或文件夹似乎适合两个或多个位置,因此是符号链接。这是 Mac/Linux 上非常常见的做法。
根据这篇 How-to-geek 帖子,您可以mklink从 cmd (Windows Vista - 10) 中使用来制作也适用于 linux 的符号链接。该指南还提供了一种安装工具的方法,该工具可以使链接更容易(通过将其添加到右键单击菜单中)。
命令行语法是:
mklink /prefix link_path file/folder_path
Run Code Online (Sandbox Code Playgroud)
其中前缀可以是:
/D – 创建软符号链接,类似于 Windows 中的标准文件夹或文件快捷方式。这是默认选项,如果您不输入前缀,mklink 将使用它。
/H – 创建一个文件的硬链接
/J – 创建指向目录或文件夹的硬链接
我刚刚做的一个例子:
mklink /J D:\Dropbox\school\archive\14Winter\cs355 D:\Dropbox\school\classes\cs355
Run Code Online (Sandbox Code Playgroud)
这使得一个环节14Winter叫cs355到cs355在classes
在 Windows 上创建链接后,该链接也适用于我的 Linux 机器。我没试过Mac。如果您发现它不适用于 mac,请告诉我。
编辑:旧答案
这是一个愚蠢但可能有用的解决方案:您可以编写一个小的 python 脚本,它是一个不可知的链接(代码在这里找到)
#!/usr/bin/python
import subprocess
import sys
if sys.platform == 'darwin':
def openFolder(path):
subprocess.check_call(['open', '--', path])
elif sys.platform == 'linux2':
def openFolder(path):
subprocess.check_call(['gnome-open', '--', path])
elif sys.platform == 'win32':
def openFolder(path):
subprocess.check_call(['explorer', path])
openFolder("relative/path")
Run Code Online (Sandbox Code Playgroud)
当然,这将始终打开一个新窗口。不是一个很好的解决方案,但它可能就是你所得到的。(继续祈祷有朝一日 Windows 将基于 Linux ……否则就死了。)
| 归档时间: |
|
| 查看次数: |
1749 次 |
| 最近记录: |