Featured image of post MKLINK-同步windows下的所有文件

MKLINK-同步windows下的所有文件

同步windows下的所有文件,只需要一行非常简单的命令。在深入想想,能做的事情简直太多了好嘛!

硬盘里各处都放着文件,虽然有好好分类,但是当分类越来越多的时候,已经完全不知道东西都在哪儿了!! 而且,FF14里的用户数据已经把我搞疯掉一次咯,重装完之后进入游戏,界面完全乱掉当时想撞死的心都有了,悲。 还有博客的Markdown文件,不会因为想要同步,所以把整个blog都放进云盘,不会吧不会吧。

然后,发现了mklink

介绍

在cmd下输入 mklink /?,系统会列出所有的命令。

注意,mklink为CMD中的内置命令,如果在PowerShell中使用,需要先输入cmd切换为CMD在使用。

1
2
3
4
5
6
7
8
创建符号链接。

MKLINK [[/D] | [/H] | [/J]] Link Target
        /D        创建目录符号链接。默认为文件符号链接。
        /H        创建硬链接而非符号链接。
        /J        创建目录联接。
        Link      指定新的符号链接名称。
        Target    指定新链接引用的路径(相对或绝对)
  • 在任何情况下都推荐使用绝对路径 /j,不推荐使用/d

使用

举例

比如你的Onedrive在E盘,FF14在D盘,想要同步FF14中的用户数据FINAL FANTASY XIV - A Realm Reborn文件夹,那么可以在cmd下输入:

1
mklink /j "D:\FFXIV\最终幻想XIV\game\My Games\FINAL FANTASY XIV - A Realm Reborn" "E:\Remote\OneDrive\Game\FFXIV\数据备份\1" 
  • 因为软链接不能使用相同的文件名称,所以Onedrive下的文件夹重命名为 1

Obsidian与Hugo

首先在磁盘中找到两个软件的存储位置,例如:我的Obsidian的Vault在E:\Notes目录,Hugo博客的post文件夹在E:\Remote\Hugo\blog\content

将文章备份后,将Obsidian中存放博客文章的文件夹博客文章与Hugo中的post文件夹删除,再执行命令:

1
2
# 这里的“博客文章”与“post”文件夹应该都不存在
mklink /j "E:\Notes\博客文章" "E:\Remote\Hugo\blog\content\post" 

执行命令后,会发现E:\Notes文件夹下出现一个博客文件夹,但是双击打开的时候会有“此位置不可用,请确保…”之类的提示。解决办法很简单,重新在Hugo的content下新建一个post文件夹就好咯。这时两个位置将会软连接至一起,将备份的文章再次放入大功告成。

问题

如果在OneDrive中使用时发生问题:

Q:为什么Onedrive同步被挂起了?

A:这就是为什么我上面的命令本地文件夹在前,Onedrive在后的原因🥳

irithys
Built with Hugo
主题 StackJimmy 设计,由 吕楪 改进😎