相信各位对于快捷方式都已十分熟悉,它是指向一个文件(夹)的“路标”或“指针”,通过它,我们可以间接地访问到所需要的文件(夹)。
Linux下的软链接方便好用,Windows中也有类似的功能,通过该功能,我们可以将Onedrive设置为同步盘使用,即使这些文件都不在同一个物理驱动器上,这个命令依旧能够使用,我们还可以将软件的安装目录“悄无声息”地修改而不会造成任何影响。
而对于Windows,mklink命令则是一种更为高级的“快捷方式”,其由系统在文件系统的底层进行操作,一般除去系统之外,其他应用程序无法知晓这其实是一个“快捷方式”,无论是文件大小、所在位置都可以假乱真,读取写入操作都会进行重定向,只有Windows以及一些越过操作系统直接访问文件系统的应用会知道这一点,因此会在计算分区容量时进行排除。
透过这一特性,我们可以进行一些有意思的操作,例如强制修改某程序的安装路径,将其“神不知鬼不觉”地转移到其它分区或文件夹;亦或是对于OneDrive等不能指定文件夹同步的网盘,通过创建链接实现多分区、多硬盘同步,省去了来回复制文件的繁琐。
在Windows下,我们可以通过在CMD命令窗口中输入mklink来查看命令参数,如下所示:

该命令有4种可选参数,具体说明可参阅网络。
主要使用方法为:
mklink 命令参数 链接目的文件(夹) 链接源文件(夹)
在这里需要注意的是,源文件(夹)与目的文件(夹)的路径最好使用双引号进行约束,否则路径中含有空格(Windows中允许这种文件名)时会导致参数划分错误,无法达到预期效果。
而链接的目的文件(夹)在操作之前不能存在,否则会创建失败,如下图所示:

上图也显示出了一个潜在的问题:需要按照命令所给格示输入参数,即/参数的形式,否则也会出现错误。
最后,如何撤销mklink连接呢?对于/D、/J以及不带参数的情况,直接在资源管理器中删除带有小箭头的文件(夹)即可。
例:
mklink/j "C:\Users\你的用户名\AppData\Roaming\Apple Computer\MobileSync" "d:\MobileSync"