有些时候我们可能因为系统或者某些软件的缓存占得比较多,想把他们从C盘移动到其他地方。但是软件本身并没有提供修改缓存文件夹的功能。这下应该怎么办呢?其实还真有一个好办法可以完美解决,这就是今天要为大家介绍的符号链接。
符号链接这个名词经常使用Linux的同学应该听说的比较多。如果你没听说过这个名词,也没有关系。因为他真的非常好理解。简单的说,符号链接就是快捷方式,不过和快捷方式不同的是,符号链接会被识别为真实的文件或者文件夹。而快捷方式这个东西,如果你在Windows下用过命令行的话,应该可以注意到快捷方式只是一个特殊的文件,它有自己的文件扩展名lnk。
正因为此,如果你将一个软件的重要目录移走,然后用那个目录的快捷方式替换它,那么这个软件是无法正常运行的。但是如果你用符号链接替换它的话,软件是可以正常运行的,就像从来没有移动过这个文件夹一样!
好了,说了这么多,下面就来看看如何使用符号链接这个功能吧!在cmd和powershell中都有对应的创建符号链接的命令,不过这里我只介绍powershell的命令。powershell作为cmd的替代品。假如如果有想学习Windows命令行的同学的话,最好学习powershell。cmd这种东西能不碰尽量不碰。
命令十分简单,只需要在New-Item
的参数上添加-ItemType SymbolicLink
,然后在指定要创建符号链接的源文件即可。
New-Item -Path C:\LinkDir -ItemType SymbolicLink -Value F:\RealDir
下面介绍几个使用场景。例如我现在有个游戏在机械硬盘里加载速度有点慢,所以准备把他放到固态硬盘里面。但是游戏启动器并不支持自定义游戏路径的功能。所以这时候符号链接就可以派上用场了。首先把游戏直接移动到固态硬盘,然后在原路径下创建一个指向现在路径的符号链接。
New-Item 'StarCraft II' -ItemType SymbolicLink -Value 'C:\Games\StarCraft II'
然后再用启动器启动游戏,这时候可以发现,游戏其实已经移动了,但是启动器还以为游戏在原来的位置。当然如果你右键属性查看符号链接的话,会发现他和快捷方式一样有一个小箭头,不过并没有什么影响。
另外假如你C盘空间经常不足的话,也可以考虑使用符号链接的方式将用户文件夹下的AppData目录移动出去,这个目录保存了用户使用时几乎所有的程序缓存,移动它可以保证C盘空间保持一个稳定值。当然由于系统运行的时候随时都会向这个目录写入东西。所以移动的时候最好在PE环境,或者安全模式下移动,防止因为系统正在运行导致文件夹移动失败。