蜀水闻涛

蜀道难上青天,水波浪及塘沿。闻声心潮澎湃,涛起阵阵思念。
蜀水闻涛

07/05/2009

Windows Vista 命令:MKLINK

网络摘记, by 很黑很非洲.

  不知道easyMule是怎么回事,每次更改了未下载完成的文件路径,死活无法导入。日志里的提示信息是找不到.part文件,NND,明明就在同一目录,估计一般来说电驴下的文件名都会生成N个“.”的原因吧,我猜的……要不是硬盘紧张添加新硬盘,我也不会有事没事的随便更改路径呀,文件太大,又不想移动来移动去的,想起以前曾经隐约记得一个命令,Vista可以创建一个看起来跟普通快捷方式一样的符号链接,可是忘了是啥命令了,想了半天才想起来是mklink.exe,打开CMD,输入mklink /?,搞定!等下载完了之后再删掉该符号链接。

语法:

MKLINK [[/D] | [/H] | [/J]] Link Target

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

  其实mklink命令蛮好用的,用它创建的符号链接与快捷方式不同,快捷方式也是一个文件,扩展名不修改注册表是不会显示出来的,比较常见的快捷方式扩展名是.lnk,MS-DOS的是.pif,而Internet快捷方式的扩展名是.url,它们都只是一个个文件,而由mklink创建的符号链接虽然一般来说用途相当,但是符号链接更像是一个“虫洞”。记得以前玩英雄无敌IV时,简体中文、繁体中文和英文版共存,为了节省空间利用符号链接就不用修改exe文件了,非常方便。

  某些程序安装时会自动解压到windows\temp目录下,无论系统变量%Temp%如何设置都无效,而系统盘空间又不足的情况,这时有mklink就可以大显身手了。进入windows目录,删除temp目录,以管理员身份运行控制台(命令提示符),输入mklink /j C:\Windows\temp X:\Temp后回车,其中X为目标盘符,即搞定了。不过我一直没搞懂/D和/J有啥区别,貌似效果相同……

  特此Blog一篇,留做备忘-.-!!!

Back Top

回复自“Windows Vista 命令:MKLINK”

  1. 首先你在你的系统里找不到mklink.exe,也就是说他是一个内部命令
    另外 /D 是文件夹的软链接,windows里叫符号链接
    /j是文件夹的硬链接

    紫云飞 回复
    • 您第一句话有错啊,系统里找不到的叫做外部命令,mklink.exe 可以在 Vista 系统当中找到,所以说它是内部命令。
      后面关于 /D 和 /j 的解释,受教了,谢谢 🙂

      • 老大,你多久没干这一行了啊?内外都忘记了。。。 :mrgreen:
        命令行程序分为内部命令和外部命令,内部命令是随command.com装入内存的,而外部命令是一条一条单独的可执行文件。
        内部命令都集中在根目录下的command.com文件里,电脑每次启动时都会将这个文件读入内存,也就是说在电脑运行时,这些内部命令都驻留在内存中,用dir命令是看不到这些内部命令的。
        外部命令都是以一个个独立的文件存放在磁盘上的,它们都是以com和exe为后缀的文件,它们并不常驻内存,只有在电脑需要时,才会被调入内存。
        所以说 mklink.exe 是外部命令,因为它符合外部命令的定义,在 Vista 系统文件夹中可以找到。

    • /J 是Junction 链接,和symbolic link不同。
      Junction 其实比symbolic link要古老,从2000就开始支持,symbolic link 是从vista开始支持的。
      Junction 只能做目录链接,而且只支持本地目录。
      symbolic link 不仅可以做目录和文件链接,更NB的是还支持做网络链接(SMB)。虽说可以跨文件系统,但前提是目标系统也要支持symbolic link。。。

      刚刚逛维基看到的,解释的很详细啊:
      http://en.wikipedia.org/wiki/Symbolic_link(E文不好的可以直接看NTFS Junction points和Windows Vista symbolic link那两节)

  2. 引用:Windows 7中的软链接、硬链接 « xylz

  3. 路过,看到博客不错,留个脚印,以后记得来,呵呵。

    济南二手房信息 回复

发表评论

电子邮件地址不会被公开。 必填项已用*标注