mklink简介

Linux 下有一个叫符号链接的东东,是 ln 这个链接命令,mklink 和 ln 的功能几乎一样。在xp系统下,junction命令要用微软开发的小程序 junction.exe实现,从http://live.sysinternals.com/可以下载。现在Windows Vista之后的系统自带了mklink的功能。创建符号链接不仅可以当作快捷方式使用,最重要的是重定向链接符可以被程序读取然后重定向真正的位置,这是快捷方式无法做到的。

win+r -> cmd -> mklink:

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

默认情况:

  • 文件的符号链接,如没有参数指定,则创建文件的符号链接,删除文件链接不会影响目 标文件,且创建链接时允许目标文件不存在;
  • 目录的符号链接(SYMLINKD) /D该参数可以创建目录的符号链接,删除目录链接不 会影响目标目录,且创建链接时允许目标目录不存在;
  • 目录的软链接(JUNCTION) /J 该参数可以创建目录的软链接(联接),作用基本和符号链接类似,NT6系统的用户目录就是以这种形式存在的;
  • 文件的硬链接 /H 该参数可以创建文件的硬链接,即一个文件的多个别名,NT6系统WinSXS目录下的大部分文件是以这个形式存在的;

mklink的应用

根据上面的介绍大家肯定知道我想干什么了,对!就是利用mklink为网盘加上多目录同步的功能。下面以Dropbox备份某软件的配置为例,其他的网盘都类似:
网盘的同步文件夹是E:/u/Dropbox,需要同步的文件夹是D:/soft1/config我们使用下面的命令:

mklink /D "E:/u/Dropbox/mydata" "D:/soft1/config"

这样E:/u/Dropbox/mydata就指向D:/mydata,相当于两个访问接口。

删除E:/u/Dropbox/mydata不会影响到D:/soft1/config,反之则不行。

按照这种方法就可以让Dropbox等网盘部分不同的文件夹了。

但是现在也有个问题,你会发现只有Dropbox第一次启动或者重启时会同步,你的修改不能马上被Dropbox捕获到,

Dropbox可以使用系统托盘菜单中的暂停和恢复同步来手动让Dropbox对修改进行捕获,

有些网盘如酷盘就没有这个功能,只能利用重启软件来同步,很不方便。

其实这里还有个方法就是:我们反着来,将真实文件夹(如config)放在Dropbox中,在D:/soft1/中创建软连接, 如命令:

mklink /D "D:/soft1/config" "E:/u/Dropbox/mydata"

这样的缺点就是其实根本没有改进网盘不支持多目录备份的问题,而是和系统开玩笑而已,但是这样确实很方便,我目前基本使用这种方法。

How to remove a symbolic link?

To delete a symbolic link to a file or directory, the following command line syntax can be used

(in each case, "linkname" specifies the name of the symbolic link to be deleted):

  • For links to files:

    del linkName
  • For links to directories:
    rmdir linkName  
If you used mklink or mklink /h 
to create a symbolic link or hard link to a file,
then del will delete the link without affecting the target file.
 
If you used mklink /d or mklink /j 
to create a symbolic link or junction for a directory,
then it works like an empty folder.
You need to use rmdir to remove it. 
The target directory will be unaffected.
 
If you instead use del on the link or junction, then it works just like on any other folder:
you are prompted to confirm whether you want to delete all the directory's files (but not subdirectories).
The target directory's files will be deleted if you answer "y".
You can avoid the prompt if you use del /q.
 
In Explorer, if you delete the link or junction, that's all that will be deleted; 
the target folder is unaffected. 
 
This also applies to the Recycle Bin.
When moving the link or junction, you are prompted to confirm that you want to move the "folder".
But actually, only the link or junction will be put in the Recycle Bin, not the target folder.
the target folder is unaffected. 
 
In any case, if you explicitly delete the target file or folder,
then any symbolic links or junctions pointing to it will be left behind,
unusable until the target is recreated.
 
Any hard links to deleted files, or to files in deleted directories, will be unaffected.
 
In Powershell, don't use rmdir!
Use cmd /c rmdir .\Target instead.
I tested this myself and confirmed it here: 
 
 

mklink让网盘同步不同文件夹的更多相关文章

  1. 【Windows使用笔记】使Onedrive同步任意文件夹

    因为度盘实在是有点垃圾,经常看的剧之类的或者其他软件资源啥的动不动就被封. 所以跑去某宝买了一个5T的企业子账号,安全性不清楚,重要的隐私数据反正都用移动硬盘备份了.主要就是存一些资源性的文件吧.而且 ...

  2. Windows如何自定义U盘盘符、文件夹图标、文件夹背景

    自定义U盘盘符.文件夹图标.文件夹背景 注意对于Vista和Win7的用户不支持文件夹图标和文件夹背景的更换 1.自定义盘符:在U盘根目录下新建文件 autorun.inf(可先建.txt文本文档,再 ...

  3. Google Drive 和 Dropbox 同步同一个文件夹目录

     Dropbox 也是非常棒的同步工具,例如先进的增量上传或者更开放的 API 等.可是为什么不曾想过把 Google Drive 和 Dropbox 同时使用呢,我是说,让这两者同时云同步同一个文件 ...

  4. 坚果云无法同步SVN文件夹

    把svn的库放在云盘上,同步到本地,以前在金山快盘.360网盘都用得好好的,换坚果云后,想着肯定没问题,结果发现,不行! 新机子上的版本库可以建起来,但检出时报错: Could not open th ...

  5. Dropbox Folder Sync – 让 Dropbox 同步任意文件夹

    「DropBox」可以说是目前世界上最流行的线上同步工具,非常简单的同步方式, 流畅的档桉上传下载速度,让你可以轻易的在两台.三台电脑之间同步重要资料. 而你要做的步骤只是在每一台电脑安装DropBo ...

  6. 用SQL语句建库建表建约束(用SQl语句在指定盘符创建文件夹)

    一 :创建数据库 创建一个数据文件和一个日志文件(MySchool) create database MySchoolon primary      --默认属于primary主文件组,可省略(--数 ...

  7. 使用dropbox 同步任意文件夹(MAC)

    使用dropbox自动同步自己mac上的文件夹: -My_Programs /Users/foreverycc/Dropbox/My_Program # . must be full absolute ...

  8. 走进Linux01-磁盘分区与文件夹结构

    近期学习Linux,首先安装系统,遇到了磁盘分区.之前仅仅知道Linux分区是从/(根文件夹)開始的,至于磁盘格式,多块盘怎样挂载全然不了解,系统的查询了一下Linux磁盘分区和文件夹结构,整理一下. ...

  9. svn忽略不需要同步的文件夹或文件

    如果某个文件已经提交到了svn,这个时候需要通过svn来把服务器上的改文件删除,然后再在本地,点击该文件 选择把该文件删除,recursively表示递归删除(文件下->下级文件夹->下级 ...

随机推荐

  1. 【前端开发】前端引入公共部分footer header的几种方法,及iframe自适应高度js

    一.引入页面几种方法   1.IFrame引入,看看下面的代码    <iframe   frameborder=0   border=0   width=300   height=300    ...

  2. 漂亮的SVG时钟

    漂亮的SVG时钟 效果图: 代码如下,复制即可使用: <!DOCTYPE html> <html lang="en"> <head> <m ...

  3. python图片处理(一)

    在matlab中有相应的图像进行二值化处理,并且标记连通区域 L = bwlabel(BW,n) 返回一个和BW大小相同的L矩阵,包含了标记连BW中每个连通区域的类别标签,标签的值是1.2.num(连 ...

  4. CTF内存高级利用技术

    起了一个比较屌的标题,233.想写这篇文章主要是看了kelwya分析的议题,于是准备自己动手实践一下.蓝莲花的选手真的是国际大赛经验丰富,有很多很多的思路和知识我完全都没有听说过.这篇文章会写一些不常 ...

  5. JavaWeb--中文乱码小结

    JavaWeb--中文乱码小结 出处:http://chriszz.sinaapp.com0.纯粹html乱码: 换个editor吧(有时候notepad都比sublime_text好用),最好是在& ...

  6. mysql 通过sqoop导入hive

    sudo -u hdfs sqoop import --connect jdbc:mysql://192.168.33.93:3306/leochentest --username root --pa ...

  7. Spark(十七)图计算GraphX

    一.图概念术语 1.1 基本概念 图是由顶点集合(vertex)及顶点间的关系集合(边edge)组成的一种数据结构. 这里的图并非指代数中的图.图可以对事物以及事物之间的关系建模,图可以用来表示自然发 ...

  8. day9--回顾

    线程  vs   进程 进程:一堆资源集的集合.线程:操作系统能够调度的最小单位. 进程和线程的谁快是误区,进程至少包含一个线程,是没有可比性的. 线程:共享内存,两个线程同时操作一个数据,要加锁.全 ...

  9. C# 文件下载断点续传

    C# 文件下载断点续传的一个类 using System; using System.Collections.Generic; using System.Linq; using System.Text ...

  10. pyqt5猜数小程序

    程序界面用qt设计师制作,并用pyuic5命令转换成form.py文件 #-*- coding:utf-8 -*- from PyQt5.QtWidgets import QApplication,Q ...