硬盘空间管理:我的战斗与策略

随着技术的不断进步,计算机存储设备也在不断地演变。从早期的软盘到后来的硬盘驱动器(HDD),再到现在的固态硬盘(SSD),对存储空间的需求似乎总是难以满足。无论是文件碎片整理、删除不必要的文件,还是将数以百万计的猫图片刻录到光盘上,总是在寻找更多的存储空间。

技术的发展给带来了更大的硬盘驱动器,终于有了所需的空间,但访问速度仍然很慢。随着软件体积的增大,运行速度也变得更慢。然后,SSD的出现带来了速度的承诺。机器变得更快,程序加载得更快,整个世界都在加速以跟上步伐。然而,突然又在寻找空间,这些新驱动器虽然速度快,但在目前需要安装的所有东西的容量上却很昂贵。因此,又回到了在泥土中寻找可以移动和删除的东西。

硬盘空间之战

如今,为许多平台开发软件,硬盘似乎很快就满了。这是一个日常/每周的斗争,以找到空间来安装东西。大多数东西,如Visual Studio或VR游戏,必须放在SSD上,才能以最快的速度运行,而其他东西则可以愉快地放在旧的HDD上,慢慢地运行。

然而,像Visual Studio这样的东西有太多的组件,很多都不能安装在另一个位置(希望它们可以),其他的东西在开发过程中默认会构建大量的信息缓存(如NuGet),这些缓存就位于用户配置文件中,这通常也是安装Windows的地方,在快速驱动器上。

但经过一些后期研究,终于取得了进展。

最容易开始的是NuGet,默认情况下,会在用户配置文件中创建一个全局缓存(位于Windows文件夹旁边)。但自NuGet 3.5起,现在可以强制NuGet使用另一个文件夹。要做到这一点,只需要添加一个新的环境变量,指向一个新的位置。

在开始之前,应该从Visual Studio中清除当前的NuGet缓存:

1. 打开NuGet包管理器,使用“工具 -> NuGet包管理器 -> 包管理设置”。 2. 点击“清除所有NuGet缓存”按钮。缓存就消失了。

然后要移动缓存文件夹,请按照以下步骤操作:

1. 创建一个新文件夹,用于存储NuGet缓存下载的包,例如,“D:\NuGetCache”。 2. 打开系统环境变量设置。 3. 点击系统变量部分的“新建”按钮。 4. 输入一个新变量名“NUGET_PACKAGES”,并在“值”字段中输入新文件夹的路径(或者点击“浏览目录”并选择它)。

这将告诉NuGet使用这个备用文件夹作为其缓存。

开发时需要的很多东西都是各种SDK、开发工具包和平台包,这些在构建项目时使用,并不每天都使用它们,但它们会占用很多空间。如果像一样需要全部,那么它会变得非常大。

不幸的是,不能简单地移动它们,因为Visual Studio需要它们在它们所在的位置,事实上,还没有找到任何方法来指定它们可以位于另一个位置(如果找到了,请在评论中告诉)。但并非一切都失去了,实际上可以通过Windows 10中的一个功能来移动它们,并伪造它们的位置,这个功能叫做符号链接。简单地说,它们是一种欺骗系统的方法,将链接放在文件所在的位置,这些链接会自动重定向到文件实际所在的位置。

警告!!

一些文章会建议使用符号链接来处理用户目录和其他Windows系统文件夹。不要这样做。当Windows升级时,链接会丢失,最终会得到重复的数据,或者更糟,将无法正确升级,事情会变得破碎。

符号链接对于存储文件或非系统文件非常有用,可以欺骗系统认为数据仍然在它期望的位置。发现这对以下文件夹非常有用:

C:\Program Files (x86)\Microsoft SDKs C:\Program Files (x86)\Windows Kits

这两个文件夹包含了很多在构建解决方案时很少使用的信息。如果找到了其他大文件夹,请务必重复这个过程。

要开始,请按照以下步骤操作:

1. 关闭可能使用想要移动的文件夹的任何应用程序。 2. 将文件夹剪切/复制到新位置,例如,C:\Program Files (x86)\Windows Kits -> D:\Windows Kits。 3. 以管理员模式启动新的命令提示符(开始 -> CMD -> 以管理员身份运行)。 4. 运行以下命令(根据需要更新参数):mklink /J “C:\Program Files (x86)\Windows Kits” “D:\Windows Kits”。

如果只复制了,一旦移动完成,可以安全地删除旧文件夹(只是移动了),现在Visual Studio仍然认为文件在它期望的位置,但实际上已经将它们转移到了其他地方,节省了大量的磁盘空间。

沪ICP备2024098111号-1
上海秋旦网络科技中心:上海市奉贤区金大公路8218号1幢 联系电话:17898875485