利用符号链接重塑Microsoft Edge扩展管理

利用符号链接重塑Microsoft Edge扩展管理

 

       Microsoft Edge扩展每次系统重装,都可能导致部分扩展丢失,再次搜索安装是一件相当痛苦的事情。Microsoft Edge本身又没有提供有效的导出导入备份手段(打包、解压这个功能太蛋疼了),本机重装或异机迁移都是一件痛苦的事情。

终极解决之道还是将Edge扩展全部转移到安全位置,再借助符号链接命令(mklink)将系统默认的位置与安全位置加以关联。符号链接是一种高级的快捷方式,欺骗系统认为这个快捷方式就是本体,实际存储会转到真实位置。

先来了解一下Windows系统链接机制的一些基础知识。Windows支持4链接机制,分别是Shortcut(快捷方式)、Directory Junction(目录链接,又称软链接)、Hard Link(硬链接)、Junction Point(点链接)。除了Shortcut(快捷方式)外,其余三种链接统称为Symbolic Link(符号链接),都仅支持NTFS分区格式,不支持Fat32或其他格式。

mklink 是 Windows 下用于创建符号链接的命令。使用方式:

MKLINK [[/D] | [/H] | [/J]] 链接名称 目标

说明:

/D 创建目录软链接

/H 创建文件硬链接

/J  创建目录连接点

链接名称 指定新的符号链接名称

目标 指定新链接引用的路径(绝对路径或者相对路径均可)

命令行不带任何参数,默认为文件符号链接(硬链接)。

Hard Link就是硬链接,只能用于文件,不能对文件夹创建硬链接,不然会提示“拒绝访问”;参数是"/H"。

Directory Junction又叫“软链接”。参数是"/D"。通过相对路径创建的软链接在移动后无法使用,绝对路径创建的移动后不受影响。

Junction Point“点链接”也是针对目录的链接,与Directory Junction相似。当目录符号链接使用本地磁盘绝对路径时,其行为与目录连接点完全一样。

两者不同点在于:

“点链接”仅支持本地驱动器上的绝对路径;软链接不仅可以链接本地目录,还可以链接 SMB网络中的远程路径,既可以使用绝对路径,也可以使用相对路径,还对跨文件系统的链接提供了全力支持。跨主机的符号链接功能要求本地主机和远程主机同时支持 NTFS 符号链接。

“目录联接”跟“符号链接”有点像,给文件夹里的内容提供一个“入口”即所谓的“联接点”,剪切操作时会通过这个“联接点”把内容剪切出来,原来的目录和“联接点”虽然没有变化,但里面的内容被剪切出来了。而符号链接的剪切操作仅仅是对这个符号链接的剪切,并不会透过这个符号链接把其内容剪切掉。

NTFS 符号链接与 Windows 快捷方式文件不同,这是一个普通的文件。

Windows 快捷方式文件可以在任何文件系统(比如早期的 FAT32)下创建,可以包含元数据(比如在 Windows 资源管理器中显示的图标),并且不是对应用程序透明的。当应用程序访问 Windows 快捷方式的时候,默认情况下访问到的是快捷方式文件,而不会自动指向目标文件。

NTFS 符号链接是对用户透明的,也就是说,在绝大多数情况下,访问 NTFS 符号链接(名称)与访问目标是完全相同的。当应用程序访问 NTFS 符号链接(名称)的时候,操作系统会自动将其指向目标,此时应用程序访问到的就是目标而不是 NTFS 符号链接(名称)了。

注意:软链接的创建需要管理员权限,确保cmd是管理员模式。因为powershell不支持mklink命令,所以要在前面加cmd /c表示用cmd来运行该命令;路径注意加英文双引号,可以是相对路径也可以是绝对路径,如果 Link Target 这两个参数中需要包含空格,则必须使用英文双引号将内容引起来,以免参数识别错误。创建符号链接需要管理员权限,确保cmd是管理员模式。

符号链接可以直接右键删除,或通过rmdir命令删除,不会影响原文件,但del命令则会把目标文件删除。

Win10下很多地方都使用到符号链接,例如“开始菜单”,“我的文档”这些目录。使用 “NTFSLinksView” 这个软件可以查看系统中的符号链接和目录联接。

以下文件(夹)可以被符号链接替换:

  • \Documents and Settings
  • \ProgramData
  • \Program Files
  • \Program Files (x86)
  • \Users

但是注意:

  1. \Users \ProgramData 使用符号链接替换是不推荐的,这会破坏 Windows Update 自动更新和 Windows Store 中的应用。
  2. \Users\ProgramData"\Program Files" "\Program Files (x86)" 使用符号链接替换将会破坏 Windows 的安装、部署和升级。
  3. "\Program Files" "\Program Files (x86)" 使用符号链接替换将会破坏那些从 \Windows\WinSxS 仓库中硬性链接了文件到安装目录中的基于 Windows 组件的服务。

实战操作流程:

1.     找到 Edge 原来安装扩展的总目录C:\Users\fghsx\AppData\Local\Microsoft\Edge\User Data\Default\Extensions

2.     将整个目录复制,粘贴到你想要的地方,比如 D:\数据中心\同步中心\百度云同步盘\EdgeExtensions

3.     删除C:\Users\fghsx\AppData\Local\Microsoft\Edge\User Data\Default\Extensions

4.     命令行执行 mklink /D "C:\Users\fghsx\AppData\Local\Microsoft\Edge\User Data\Default\Extensions " "D:\Extensions"

5.     成功之后,你会看到 C:\Users\fghsx\AppData\Local\Microsoft\Edge\User Data\Default\Extensions 变成一个快捷方式的图标,点击进去是 D:\数据中心\同步中心\百度云同步盘\EdgeExtensions

6.     好了,现在 Edge 依然认为扩展装在那个位置,但实际上是存到 D 盘去了

有很多Windows GUI界面的程序可以代替上述命令行工作。后面会详细介绍!!

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值