[20171230]windows mklink.txt

简介: [20171230]windows mklink.txt --//别人的系统,原来的D盘磁盘空间不足,加入新的磁盘,想把原来的D的数据移动到E盘,而通过D盘依旧可以访问, --//问如何做?实际上在windows下也存在类似linux的ln命令,很容易实现这样的需求.我看了一个命令语法.如下: D:\temp>mklink 创建符号链接。
[20171230]windows mklink.txt

--//别人的系统,原来的D盘磁盘空间不足,加入新的磁盘,想把原来的D的数据移动到E盘,而通过D盘依旧可以访问,
--//问如何做?实际上在windows下也存在类似linux的ln命令,很容易实现这样的需求.我看了一个命令语法.如下:

D:\temp>mklink
创建符号链接。

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

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

--//我的感觉/D /J 好像一样的,不知道两种区别在哪里.检索如下:

https://baike.baidu.com/item/mklink/566760?fr=aladdin

目录符号链接与目录连接点的区别

目录符号链接(/D)与目录连接点(/J)非常相似,但是本质是不同的。目录符号链接依旧是符号链接,是指向目录的符号链接,而目录连接
点不属于符号链接。

目录符号链接允许 Target 使用相对路径,当使用相对路径时创建目录符号链接之后,如果移动了符号链接文件,操作系统将无法再找到
原来的目标。

目录连接点只允许 Target 使用绝对路径,当创建目录连接点时,如果传入的参数是相对路径,mklink 命令会自动将相对路径补全为绝
对路径。

当目录符号链接使用绝对路径时,其行为与目录连接点完全一样。

此外,目录符号链接还可以指定 SMB 远程网络中的路径,而目录连接点不可以。

--//自己做一些测试:
d:\temp>dir
 驱动器 D 中的卷没有标签。
 卷的序列号是 0006-A37E

 d:\temp 的目录

2017/12/30  21:11    <DIR>          .
2017/12/30  21:11    <DIR>          ..
2017/11/24  22:01    <DIR>          app
2017/12/31  20:11    <DIR>          test
               0 个文件              0 字节
               4 个目录 41,630,515,200 可用字节
--//在test目录建立文件d.txt

d:\temp>mklink /D e:\test test
为 e:\test <<===>> test 创建的符号链接

d:\temp>dir e:\ | grep test
2017/12/31  20:12    <SYMLINKD>     test [test]

d:\temp>dir e:\test
 驱动器 E 中的卷没有标签。
 卷的序列号是 000C-24BB

 e:\test 的目录

找不到文件
--//为什么.

d:\temp>rmdir e:\test

--//继续:

d:\temp>mklink /D e:\test .\test
为 e:\test <<===>> .\test 创建的符号链接

d:\temp>dir e:\ | grep test
2017/12/31  20:16    <SYMLINKD>     test [.\test]

d:\temp>dir e:\test\
 驱动器 E 中的卷没有标签。
 卷的序列号是 000C-24BB

 e:\test 的目录

找不到文件

--//继续:
d:\temp>mklink /D d:\test .\test
为 d:\test <<===>> .\test 创建的符号链接

d:\temp>dir d:\test
 驱动器 D 中的卷没有标签。
 卷的序列号是 0006-A37E

 d:\test 的目录

找不到文件

--//真不知道这个/D参数什么用.

d:\temp>rmdir d:\test

d:\temp>mklink /D e:\test d:\temp\test
为 e:\test <<===>> d:\temp\test 创建的符号链接

d:\temp>dir e: | grep test
2017/12/31  20:20    <SYMLINKD>     test [d:\temp\test]

d:\temp>dir e:\test\
 驱动器 E 中的卷没有标签。
 卷的序列号是 000C-24BB

 e:\test 的目录

2017/12/31  20:11    <DIR>          .
2017/12/31  20:11    <DIR>          ..
2017/12/31  20:11                18 d.txt
               1 个文件             18 字节
               2 个目录 41,630,515,200 可用字节

--//只有这样才正常使用,相对路径如何用.只有中括号的里面目录存在才是ok的.
d:\temp>rmdir e:\test

d:\temp>mklink /D d:\temp\aaaa test
为 d:\temp\aaaa <<===>> test 创建的符号链接

d:\temp>dir
 驱动器 D 中的卷没有标签。
 卷的序列号是 0006-A37E

 d:\temp 的目录

2017/12/31  20:23    <DIR>          .
2017/12/31  20:23    <DIR>          ..
2017/12/31  20:23    <SYMLINKD>     aaaa [test]
2017/11/24  22:01    <DIR>          app
2017/12/31  20:11    <DIR>          test
               0 个文件              0 字节
               5 个目录 41,630,515,200 可用字节

d:\temp>dir aaaa
 驱动器 D 中的卷没有标签。
 卷的序列号是 0006-A37E

 d:\temp\aaaa 的目录

2017/12/31  20:11    <DIR>          .
2017/12/31  20:11    <DIR>          ..
2017/12/31  20:11                18 d.txt
               1 个文件             18 字节
               2 个目录 41,630,515,200 可用字节

--//真不知道ms为什么要创建这个参数,意义不大.到这里我才明白/D参数的含义.

d:\temp>mklink /D e:\ttt toad
为 e:\ttt <<===>> toad 创建的符号链接
--//最后的参数实际上不一定在本地目录,ms的相对是针对前面的Link.我自己理解错误.

d:\temp>dir e: | egrep  "toad|ttt"
2013/07/16  22:30    <DIR>          toad
2017/12/31  20:29    <SYMLINKD>     ttt [toad]

d:\temp>dir e:\ttt
 驱动器 E 中的卷没有标签。
 卷的序列号是 000C-24BB

 e:\ttt 的目录

2013/07/16  22:30    <DIR>          .
2013/07/16  22:30    <DIR>          ..
2011/10/10  09:52       145,096,704 Toad .dat
2013/07/16  22:32    <DIR>          Toad for Oracle 11
2011/10/10  09:52            52,469 Toad for Oracle 11.exe
               3 个文件    145,149,209 字节
               3 个目录 35,444,133,888 可用字节

--//实际上这个就是windows的快捷方式,只不过使用命令行实现罢了.

目录
相关文章
|
2月前
|
Windows
Windows的mklink使用方法
【5月更文挑战第20天】Windows的mklink使用方法
65 0
|
11月前
|
Windows
Windows命令之mklink基础
Windows命令之mklink基础
563 0
|
4天前
|
弹性计算 持续交付 Docker
阿里云云效产品使用合集之如何部署到阿里云服务器上的 Windows Server 上的 IIS
云效作为一款全面覆盖研发全生命周期管理的云端效能平台,致力于帮助企业实现高效协同、敏捷研发和持续交付。本合集收集整理了用户在使用云效过程中遇到的常见问题,问题涉及项目创建与管理、需求规划与迭代、代码托管与版本控制、自动化测试、持续集成与发布等方面。
|
11天前
|
网络协议 Unix 网络安全
FTP服务器怎么搭建?Windows server搭建FPT服务器
FTP服务器是按照FTP协议提供文件传输服务的计算机。它用于在两台计算机间安全地传输文件,支持用户权限管理和跨平台操作。FTP使用控制连接处理命令,数据连接传输文件,有PORT和PASV模式。要搭建FTP服务器,首先在Windows Server 2008 R2上安装IIS,确保选中FTP服务。接着,创建FTP文件夹作为站点根目录,通过IIS管理器添加FTP站点,配置站点信息、身份验证和权限。测试客户端通过telnet和浏览器访问FTP服务器,确认能成功登录及浏览文件。FTP常用于文件共享和管理,可通过专用工具如FlashFXP上传下载文件。
33 0
FTP服务器怎么搭建?Windows server搭建FPT服务器
|
17天前
|
前端开发 JavaScript 应用服务中间件
windows server + iis 部署若伊前端vue项目
5,配置url重写规则(重写后端请求) 注:如果没有Application Request Routing Cachefourcloudbdueclaim和URL重写,则是第二部的那两个插件没装上 打开iis,点击计算机->点击Application Request Routing Cache -> 打开功能
51 0
|
1月前
|
编解码 安全 网络安全
RealVNC的 VNC server在windows7系统下无法正确运行
在Windows 7上运行旧版VNC Server(如4.1.2)可能存在兼容性问题,但可通过调整配置解决。步骤包括:安装VNC Server,设置兼容性模式(选择Windows XP SP3),启动VNC Server,配置VNC连接参数。若遇到问题,检查防火墙设置,确保系统更新,并考虑升级到新版VNC Server以提高性能和兼容性。
|
2月前
|
开发框架 .NET API
在Windows Server 2008 R2上运行.Net 8应用
在Windows Server 2008 R2上成功运行.Net 8程序,需安装三个补丁:Windows Server 2008 R2 SP1 (KB976932)是基础更新;VC_redist.x64提供MSVC库支持;KB3063858解决.NET运行时加载`kernel.dll`的路径问题。KB3063858可能需要KB2533623。详细信息和下载链接在文中给出。
106 4
|
2月前
|
网络协议 Unix Linux
【技术分享】Server / Server Software / Unix Windows OS
Server / Server Software / Unix Windows OS
59 2
|
2月前
|
开发框架 .NET 数据库
修改windows server 2008 时间和日期格式
修改windows server 2008 时间和日期格式
32 1
|
2月前
|
开发框架 JavaScript 安全
WIndows Server 2016 部署 Web服务(简单篇)
WIndows Server 2016 部署 Web服务(简单篇)