0%

使用百度网盘不占用额外硬盘空间同步文件

前言

不知道大家是否需要过这样的问题,自己有多台电脑,例如:一个在家,一个在公司。有的时候在家使用电脑时,需要用到公司电脑的文件,这个时候一般的做法是远程控制公司电脑,然后将文件拷贝过来。但是这样做有以下弊端:

  1. 想要远控公司电脑,必须保证公司电脑是开启且不休眠的状态。
  2. 对于小文件,少量文件这样做没有问题,但是对于大量小文件或者大文件而言,使用远程工具去拷贝对于网速的要求非常高,并且速度很慢。

对于这个问题,可以使用百度网盘同步功能对文件进行同步,但是前提是你得有百度网盘的SVIP,百度网盘的SVIP也不贵,做活动的时候179就可以拿下,如果你没有百度网盘SVIP此文章也就没有向后看的必要了。

开启百度网盘后,点击左侧的同步菜单栏,根据提示开启同步功能。

image-20230812093230090

这个时候会自动的去创建一个文件同步文件夹BaiduSyncdisk。打开此电脑也可以看得到。

image-20230812093316686

如果只是简单的使用百度网盘的同步功能进行文件同步,我没有必要再去写这盘文章,大家自行去百度网盘官网就可以去找到相关教程。官网的教程是让大家把需要同步的文件放到同步空间,这样百度网盘就会自动上传到云端进行同步,但是这样做会有一些缺点和烦恼:

  1. 在进行文件同步时,每次都是把文件放到同步空间文件夹下,这样就需要我们把要备份的文件重复复制一次过来,文件放到同步空间文件夹后又会占用硬盘的存储空间。
  2. 并且如果是同步大文件,就需要先把大文件复制到同步空间,这样会消耗一次大文件拷贝的时间,等到文件拷贝到同步空间后,百度网盘才会去将文件同步到云端。
  3. 再比如,如果我有一个文件现在需要在两台电脑上共享,白天我在公司把文件内容改了一下,更新了一下,发现我没有把文件重新拷贝到同步空间(因为大家不可能把文件全部存入同步空间,这样很难管理文件),然后回到家后,发现白天改的内容在同步的时候也无法同步,这样就非常麻烦了。
  4. 随着时间的推移,同步空间中的文件越来越多,最终会导致大家不知道哪些文件有用,哪些文件没有,想删又怕把重要文件删除了,不删硬盘空间又被占用太多。

如果你有上面一些问题,那么恭喜你,本文章会帮助你解决这个问题。

Windows系统文件链接

windows系统终端中有一个命令可以帮助大家创建某个文件和某个文件夹的链接,mklink命令:

1
2
3
4
5
6
7
8
9
10
11
12
C:\Users\ming>mklink ?
命令语法不正确。
创建符号链接。

MKLINK [[/D] | [/H] | [/J]] Link Target
/D 创建目录符号链接。默认为文件
符号链接。
/H 创建硬链接而非符号链接。
/J 创建目录联接。
Link 指定新的符号链接名称。
Target 指定新链接引用的路径
(相对或绝对)。

注意:这个命令在使用的时候,需要使用管理员权限打开CMD

点击开始菜单,然后输入cmd点击使用管理员身份运行。

image-20230812095213718

然后再输入相关命令。

为了演示相关命令效果,我在桌面创建了两个文件夹tagettmp

其中target文件夹下有一个hadoop-3.2.0.tar.gz大小为329M的文件。

tmp文件夹为空文件夹。

有三个参数:

  • /D:这个参数是用来创建文件夹的符号链接。(不会占用额外的存储空间)

    使用打开cmd后,进入到tmp文件夹下。

    image-20230812095821654

    然后输入以下命令,在tmp文件夹下创建target文件夹的符号链接。

    1
    mklink /D hadoop2 C:\Users\ming\Desktop\target

    image-20230812101410661

    相当于是给目录创建了一个快捷方式。

    image-20230812101312332

    打开hadoop2文件夹后会自动跳转到target文件夹。

    image-20230812100831648

    并且不占用存储空间

    image-20230812101228546

    hadoop2中删除了文件,target中文件也会相应删除。

    image-20230812100914296

  • /H:这个参数是用来对文件创建硬链接。(相当于是原始文件的完整拷贝,会占用原始文件大小的存储空间)

    此时再使用以下命令创建文件hadoop-3.2.0.tar.gz的硬链接。

    1
    mklink /H hadoop.tar.gz C:\Users\ming\Desktop\target\hadoop-3.2.0.tar.gz

    image-20230812101424072

    运行完毕后,在tmp文件夹下就会生成一个hadoop.tar.gz文件,并且该文件与源文件完全一致。

    image-20230812101121573

    并且会占用存储空间。

    image-20230812101201355

    删除该文件后对文件无任何影响。

    image-20230812101245142

  • /J:这个参数是用来创建目录链接的,相当于是创建一个新的文件夹,这个文件夹的内容和你指定的文件夹内容一致,本质上内部就是完全相同的文件,不论你从哪个文件夹下进入到文件,修改了文件内容,在其他文件夹都会发生变化。(相当于是对原始文件夹的一个指向,不会占用额外的存储空间)

    输入以下命令创建target的联接。

    1
    mklink /J hadoop C:\Users\ming\Desktop\target

    image-20230812101431991

    也不占用存储空间。

    image-20230812101529335

    删除文件夹内的文件时,源文件也会删除。

    image-20230812101632368

使用目录的软连接进行百度网盘文件同步

前面我们提到的很多缺点都可以使用目录的软连接来解决。例如现在我要把target文件夹放到百度网盘同步空间中进行同步,这个时候就不需要将文件拷贝过去。直接在百度网盘同步空间的文件夹下创建目录的软连接即可。

  • 进入百度网盘同步空间。

image-20230812101951334

使用以下命令创建target目录的软连接。

1
mklink /D hadoop2 C:\Users\ming\Desktop\target

这里使用/D/J参数均可。

创建完成后再同步空间中即可看到同步的文件。

image-20230812102117626

此时我们实现了在百度网盘同步空间中同步我们电脑中任意位置的文件夹。

如果们修改了target文件夹中的内容,例如把hadoop-3.2.0.tar.gz直接拷贝一份。

image-20230812102427187

此时只需回到百度网盘中点击重置同步,就可以自动的去比对后台文件信息,对有差异的所有文件进行同步。

image-20230812102551652

同步完成。

image-20230812102609911

如果想要和其他电脑共享同一个同步文件夹,需要自己在其他电脑上使用相同的命令在其他电脑的百度网盘同步空间创建相同名称的软连接(例如:我这里是hadoop2)。这样每次打开百度网盘时,他就会自动去将同步空间中的文件进行同步,如果你创建了同步空间文件夹的软连接就会自动的去修改源文件。

我已经用了这个方法同步文件好几年了,觉得好用才写这个文件分享给大家,现在我的同步空间占用硬盘空间才只有7.13M,因为有一些小文件和临时文件我就是直接放进去的。

image-20230812102901286

-------------本文结束感谢您的阅读-------------