软件安装无法手动设置安装地址?使用mklink进行迁移,freemove软件可视化操作的基础

263 阅读2分钟

Intro

mklink 可以像创建快捷方式一样建立文件或文件夹的链接。它有效避免了简单的copy paste带了注册表??问题, 注册表在启动程序的时候,会通过mklink在旧文件夹留有的链接前往新的地址启动程序。

而Freemove正是一款实现了mklink可视化操作的保受欢迎的小众软件。

Precondition 1 - cmd instead of PowerShell

PowerShell启动,会出现如下情况: image.png 解决办法是:在PowerShell中输入cmd来启动并自动进入cmd,之后再输入mklink才可以得到系统提示。 image.png

PowerShell扩展函数

Creating a Symbolic Link using PowerShell | Learn Powershell | Achieve More (learn-powershell.net)

Precondition 2 - admin privilege

正常情况下,mklink 是可以成功执行的。但不能没有不出bug的时候,可能出现没有权限的错误。使用admin启动cmd,可以解决问题。

How to use?

image.png

使用方式适用于快捷方式小箭头
不带参数文件
/D文件夹
/J文件夹
/H文件

系统已经给出提示,我们来一个一个看这些参数。

/D & /J

  • 相同:

    • Soft

    对源文件创建软链接,效果相当于创建快捷方式,但一旦源目录名修改,快捷方式即失效。

    • Copy

    均生成源目录的副本,变为一般文件夹

  • 区别:

    • Path

    /D是symbolic link,支持相对路径

    /J是junction,支持绝对路径

    • Cut/Move

    /D 生成的目录被移动,保持旧连接,对源目录无影响 (更像一种快捷方式)

    /J 生成的目录被移动,产生一个新的副本文件夹,源文件夹内容全部移动到新的副本文件夹中,源文件夹内容清空,但是源文件夹仍以快捷方式仍存在,而被移动的文件夹也依旧存在存储中

mklink "目标文件夹" "源文件夹"

之后源文件夹中的内容就会迁移到目标文件夹中,源文件夹出现快捷方式小标。

/H

只能对文件来创建硬链接,相当于拷贝,占用两份相同存储,且二者之间存在映射,修改任意文件都会反映到原始文件,即使将文件名修改后,再继续修改文件内容,依然会同步修改。