如果你的Windows系统C盘空间总是莫名其妙地减少,或者磁盘活动指示灯频繁闪烁,那很可能就是系统临时文件在“作祟”。默认情况下,无论是Windows自身还是你安装的软件,都会把临时数据一股脑地塞进C盘的Temp文件夹里。日积月累,不仅占用宝贵空间,频繁的读写也会拖慢系统速度。别担心,我们可以通过几种方法,把这些临时文件“搬家”到其他盘符,比如D盘,从而一劳永逸地解决问题。
一、通过系统属性修改用户与系统级TEMP/TMP环境变量
这是最直接、影响范围最广的方法。它直接修改了系统的环境变量,让绝大多数应用程序(从浏览器、办公软件到开发工具和安装程序)在启动时,都自动去新的位置读写临时文件。操作前,请务必先在目标盘(例如D盘)创建一个名为“Temp”的空文件夹,并确保你的账户对这个文件夹有完全控制权限。
1. 在非系统盘(如D:)新建一个文件夹,命名为“Temp”。
2. 右键点击“此电脑”,选择“属性”。
3. 点击左侧的“高级系统设置”。
4. 在弹出的“系统属性”窗口中,切换到“高级”选项卡,点击底部的“环境变量”按钮。
5. 这时你会看到两个区域:“用户变量”和“系统变量”。我们需要在这两个区域里,分别找到名为“TEMP”和“TMP”的变量。通常一共有四个条目需要修改。
6. 依次双击每一个变量,在编辑窗口中,将“变量值”改为你新建文件夹的完整路径,例如 D:\Temp。注意,路径末尾不要加反斜杠,也不要使用网络驱动器或U盘的路径。
7. 全部修改完成后,依次点击“确定”关闭所有窗口。
8. 关键一步: 你需要关闭所有正在运行的程序(尤其是浏览器、Office套件、IDE等),然后重新打开它们,新的设置才会生效。为了确保万无一失,特别是让系统服务也应用新路径,重启一次电脑是最稳妥的选择。
二、使用mklink创建符号链接重定向原TEMP目录
这个方法有点“偷梁换柱”的意思。它不改变程序眼中临时文件夹的“地址”(仍然是C盘的老路径),但实际上通过NTFS文件系统的符号链接功能,把这个地址“映射”到了D盘的新文件夹。这对于那些对路径有严格校验的程序特别友好,也是微软官方推荐的做法。
1. 首先,以管理员身份运行命令提示符或PowerShell。
2. 在D盘创建用于存放系统临时文件的目标文件夹:mkdir D:\Temp_System。
3. 为了避免文件被占用,先停止几个相关的系统服务:net stop wuauserv & net stop cryptsvc & net stop bits & net stop msiserver。
4. 将C盘原有的系统临时文件夹改名备份:ren C:\Windows\Temp Temp.old。
5. 创建符号链接,让C:\Windows\Temp指向D盘的新位置:mklink /J C:\Windows\Temp D:\Temp_System。
6. 接下来处理当前用户的临时文件夹。先备份:ren “%LOCALAPPDATA%\Temp” Temp_User.old。再创建链接:mklink /J “%LOCALAPPDATA%\Temp” “D:\Temp_User”。
7. 重新启动刚才停止的服务:net start wuauserv & net start cryptsvc & net start bits & net start msiserver。
8. 操作完成后,重启电脑。 之后你可以验证一下:在文件资源管理器中访问C:\Windows\Temp,如果能正常打开且内容实际存储在D:\Temp_System里,同时D盘的新文件夹里开始出现.tmp等临时文件,就说明成功了。
三、通过注册表编辑器同步更新系统级Temp/Tmp值
这个方法通常作为第一种方法的补充。有些底层的Windows组件或服务会更倾向于读取注册表中的值来定位临时目录。为了确保没有“漏网之鱼”,同步修改注册表是一个好习惯。操作注册表有风险,务必在修改前导出备份。
1. 按下 Win + R,输入 regedit 并回车,打开注册表编辑器。
2. 导航到以下路径:HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Environment。
3. 在右侧窗格里,找到名为 Temp 和 Tmp 的字符串值(REG_SZ)。
4. 双击“Temp”,将其“数值数据”修改为与环境变量中一致的路径,例如 D:\Temp。
5. 同样地,双击“Tmp”,填入相同的路径。
6. 关闭注册表编辑器。
7. 修改会立即生效,但为了确保所有正在运行的进程都能获取到新值,注销当前用户或直接重启电脑是最佳实践。
