回收主目录

回收主目录

主目录是用户保存个人文件(例如文档和音乐)的地方。在我的电脑上,这是

C:\Users\Steven

也被称为 %USERPROFILE% 变量。问题是您安装的任何程序都可以访问此变量,并且可以在此目录中创建文件和文件夹。因此,随着时间的推移,我曾经整洁的文件夹变得杂乱无章。

我通过创建文件夹来解决这个问题

C:\Steven

存储个人文档和音乐,但这似乎不对。我想将文档放在它们应该放的地方,并让程序将垃圾文件和文件夹放在其他地方,这可能吗?

答案1

主目录是用户保存个人文件(例如文档和音乐)的地方。

是的应该为了那个。

问题是,您安装的任何程序都可以访问此变量,并且可以在此目录中创建文件和文件夹。因此,随着时间的推移,我曾经整洁的文件夹变得杂乱无章。

确实如此。有些程序会将特定于该程序的用户设置文件存储在其中,这是有道理的,因为这些是你的设置。此外,通过将设置保存在文件夹中,您可以根据需要备份它们并复制和恢复它们,这样,如果您重新安装该程序,就不必从头开始重新设置所有内容。

不幸的是,有些程序写得非常差,会把各种额外的垃圾文件保存在里面,而这些垃圾文件根本不应该存放在用户的个人文件夹中。我见过一些程序(例如 Macromedia(现在是 Adob​​e)以及 Microsoft、tsk、tsk)将数百兆的帮助文件和文档存储在里面。‽ 即使是 Google 的 Chrome 也是如此,它存储了整个程序所有数百兆字节的程序文件都位于用户文件夹中。

完全没有理由这样做。这不仅会使用户文件夹变得杂乱,还会使备份变得臃肿和复杂。您要么浪费空间将它们包含在用户文件夹的备份中,要么必须使用允许您将它们全部排除的文件级备份程序。

您可以尝试提交错误报告并抱怨/解释问题并希望他们修复它,但这可能不会发生。

我通过创建一个 [不同的] 文件夹来存储个人文档和音乐来解决这个问题,但这似乎不对。我想将我的文档放在它们应该放的地方,并让程序将它们的垃圾文件和文件夹放在其他地方,这可能吗?

很遗憾,不行。如果你把你的个人文件放在它们原来的位置应该系统设计时会使用变量等来放置它们,然后编码为使用这些变量的程序可以,不幸的是将要将文件放入其中。


一个解决方案,或者更准确地说解决方法我多年来一直使用的一个方法是利用 Windows 具有指向用户文件夹的多个链接这一事实。除了根用户文件夹 ( %userprofile% = C:\Users\foobar) 之外,Windows 还有指向多个“特殊文件夹” 其中一个是你的我的文件文件夹,它是作为您的个人文件的主要位置(许多用户认为这是根用户文件夹的用途)。

大多数程序会将其内容保存在用户文件夹中的AppDataLocalAppData文件夹中,不是我的文件。因此,您可以做的是不要动根用户文件夹,让程序将您的程序设置和它们自己的垃圾写入其中,同时重定向其他更相关的文件夹。

最好的部分是,除了能够改变你的我的文件文件夹,您可以更改一大堆不同文件夹的位置。


例如,多年来我一直在 XP/7 中使用类似以下的设置:

UserProfile → D:\Users\Foobar
Personal    → E:\DataFiles
Desktop     → E:\DataFiles\Desktop
Favorites   → E:\DataFiles\Favorites
History     → E:\DataFiles\Logs\IEHistory
Recent      → E:\DataFiles\Logs\Recent
Music       → F:\Music
Videos      → F:\Videos
Cache       → G:\Temp\IECache
Cookies     → G:\Temp\Cookies

这有几个有益的影响:

  • 根用户文件夹已移动到另一个驱动器。我为所有用户执行此操作,但您可以为单个用户执行此操作,或者根本不执行。我更喜欢保留全部用户文件夹放在不同的分区上,因为这样可以更轻松地备份和恢复它们(例如,获取驱动器映像而不会浪费 Windows 系统文件的空间),并且可以更轻松地重新安装 Windows 而不会影响用户文件。

  • 它感动了我的我的文件文件夹移至另一个分区,我将自己创建的所有文件保存在该分区中,因此这些文件是不可替代的。这样可以轻松备份它们而不会浪费空间,因为我可以将它们全部保存在一个更小的分区上并克隆整个卷。如果您愿意,它还可以轻松地将您的个人文件存储在闪存驱动器等可移动媒体上(尽管这有其自身的风险,例如如果您在启动前忘记插入它会发生什么?)

  • 它将音乐和视频等大型媒体文件存储在不同的分区中,我把所有媒体文件都保存在这个分区中。这些文件通常是消耗性文件,并非不可替代,因此我不想将它们包含在个人文件的备份中而浪费空间。

  • 通过将历史记录等放入其他日志文件中,我可以更好地控制日志记录等内容。

  • 它允许我将临时文件保存在它们自己的分区中(我还重定向temptmp环境变量以指向该驱动器,例如G:\Temp\Temp)。这样我就可以清除全部非常轻松地清理临时文件,而不必清理系统的每个角落。

这通常可以正常工作,不会出现问题。程序可能设计得很差,有硬编码的路径,因此期望某些文件和文件夹位于特定位置,但这种程序极其罕见,尤其是在过去十年左右。(我还没有遇到过这样的程序,尽管我使用过真正古老的程序,包括一个如果系统的物理+虚拟内存总和超过 1.5GB 就无法运行的程序。)


您可以使用地点他们的标签特性对话框(图 1)。并非所有的控件都可以这样移动,因此您需要通过环境编辑器更改它们,以适应具有专用变量(如userprofile和 )temp的控件,或者使用类似调整用户界面对于 XP(图 2)或特殊文件夹管理器对于 Vista+(图 3),或者在注册表中手动编辑它们(图 4)。

您的根目录中仍会堆积垃圾(AppData和下LocalAppData),但通过移动您关心的内容,您不必再担心根用户文件夹,并且可以在有几分钟空闲时间时偶尔停下来看看可以清除什么。


图1:截图地点文件夹选项卡My Videos

我的视频文件夹的位置选项卡的屏幕截图

图 2:TweakUI 中特殊文件夹的屏幕截图

TweakUI 特殊文件夹部分的屏幕截图

图 3:特殊文件夹管理器的屏幕截图

特殊文件夹管理器的屏幕截图

图 4:注册表中的用户 Shell 文件夹的屏幕截图

用户 Shell 文件夹注册表项的屏幕截图

答案2

一般来说,通过让 %UserProfile% 指向另一个目录来将用户配置文件移动到另一个目录是一项有风险的举动(例如,看看这里)。

因此,一般建议不要触碰 %UserProfile%。

但是,如果用户配置文件目录占用了系统驱动器上的太多空间,或者由于其他原因(例如性能)应该驻留在另一个驱动器上,则一种相当安全的方法是使用 NTFS 连接点。这样,即使用户配置文件实际上可能存在于不同的驱动器上,它仍会出现在其原始路径下。

顾名思义,NTFS 连接点仅适用于 NTFS 文件系统 - 但如今谁会将其系统驱动器格式化为 FAT32?

有关 NTFS 连接点的一些信息:

相关内容