AppData 文件夹对于存储应用程序数据、设置和缓存至关重要。不过,随着时间的推移,它可能会因不必要的文件而变得臃肿,导致性能下降和潜在的隐私问题。
什么是AppData文件夹?
微软于 2009 年在 Windows 7 中引入了 AppData 文件夹。从那时起,它就成为操作系统不可或缺的一部分。 AppData 文件夹位于每个 Windows 用户的配置文件文件夹中。您计算机上的应用程序保存各种用户特定的文件和设置。
例如,世界上最受欢迎的游戏之一《我的世界》将世界存储在 AppData 文件夹中。
Windows 10 和 11 上的 AppData 文件夹具有三个子文件夹:Local、LocalLow 和 Roaming。他们是这样做的:
- 当地的。此文件夹存储设备特定的设置和临时文件。此文件夹有一个单独的环境变量 %LOCALAPPDATA%,您可以在批处理文件和脚本中使用该变量。
- 本地低。 Windows 这里主要存储各种应用程序(Internet Explorer、Java、Adobe 等)生成的缓冲区数据。它也被低级访问系统使用,例如,在保护模式下工作时浏览器的临时文件。该目录也不能移动到另一台计算机。
- 漫游。您可以将该文件夹中的文件传输到另一台计算机。漫游文件夹存储浏览器数据、书签等。此目录允许用户在使用漫游配置文件或用户配置文件磁盘时始终在任何远程桌面服务场服务器上的熟悉环境中工作。该目录的环境变量是%APPDATA%。
在 Windows 中哪里可以找到 AppData 文件夹?
Windows 计算机上的每个用户都有一个配置文件文件夹,AppData 文件夹是其中的子目录。自 Windows 7 中出现以来,默认位置一直位于:
<OS_Drive>:Users<Username>AppData
将以下位置粘贴到“运行”对话框中,以使用 Windows 资源管理器将其打开。
%userprofile%AppData
或者直接在 Windows 资源管理器地址栏中,它会自动解析到目标 AppData 文件夹位置。
在 PowerShell 中,您可以使用此位置导航 AppData 文件夹。
Push-Location -Path $env:userprofileappdata
Get-ChildItem
您还可以通过运行 Invoke-Item cmdlet 从 PowerShell 打开 Windows 资源管理器中的 AppData 文件夹。此 cmdlet 在其默认关联应用程序中打开该项目,在本例中,该应用程序是在 Windows 资源管理器中打开的文件夹。
Invoke-Item -Path $env:userprofileappdata
清理AppData文件夹的方法?
随着您安装的每个新应用程序,AppData 文件夹都会变得更大。计算机上的程序和游戏越多,AppData 文件夹的大小就越大。 Windows 本身不控制该文件夹的大小,这意味着它的增长不受控制,可能会耗尽所有可用存储空间。
如果您的计算机磁盘空间不足,则检查潜在清理的位置之一是 AppData 目录。
更重要的是,卸载程序或游戏通常不会删除AppData文件夹中的文件。因此,AppData 文件夹中充满了您不再需要或使用的文件和文件夹。
不要按住 Shift 键并删除 AppData 文件夹。这种残酷的方法会损害您计算机上的其他应用程序。 Windows中有一个专门用于清理AppData文件夹的工具。
使用内置临时文件清理应用程序
一种方法是使用“设置”应用程序删除临时文件,其中包括 AppData 文件夹中可安全删除的项目。
- 按 WIN+I 启动“设置”应用程序。
- 单击系统 → 存储。
- 单击“临时文件”。
- 您将看到临时文件类别的列表。选择您想要清理的文件,包括 Internet 临时文件。对选择满意后,单击“删除文件”按钮。
- 在确认提示上单击“继续”。
使用 Windows 资源管理器清理“AppData”文件夹
- 打开 Windows 资源管理器,将 %temp% 粘贴到地址框中,然后按 Enter。此字符串 (%temp%) 是映射到当前用户的“AppData”文件夹的 Windows 环境变量。%temp%
- 打开文件夹后,删除所有(或选定的)文件。笔记。按 SHIFT-DELETE 绕过回收站并永久删除文件。
- 在确认提示中单击“是”。
- 有些文件无法删除,因为它们正在被其他程序使用,这是正常现象。当您收到此类通知时,请选中“对所有当前项目执行此操作”框,然后单击“跳过”。
使用 PowerShell 清理“AppData”文件夹
使用一行 PowerShell 命令,您还可以清理 AppData 文件夹。此 PowerShell 命令搜索用户临时文件夹中的所有文件(包括子目录中的文件),然后删除它们而不要求确认。
Remove-Item `
-Path "$env:temp*" `
-Recurse -Confirm:$false `
-ErrorAction SilentlyContinue `
-Verbose
此 PowerShell 命令将递归删除用户临时文件夹中的所有文件和子目录,而不要求用户确认。如果在此过程中发生错误,该命令将静默执行,不会显示错误消息。但是,它将显示其删除的每个项目的详细消息。
- Remove-Item:这是用于删除项目(文件和目录)的 cmdlet。
- 路径“$env:temp*”:该路径参数指定删除的目标目录。该值为“$env:temp”,即用户的临时文件夹路径。
- Recurse:此Remove-Item 参数告诉它执行递归删除。这意味着不仅指定目录中的文件将被删除,而且该目录中的所有文件和子目录也将被删除。
- Confirm:$false:这是Remove-Item的另一个参数,它禁用删除前的确认提示。通过将其设置为“$false”,该命令将不会要求用户确认,并且将直接删除所有项目。
- ErrorAction SilentlyContinue:此参数指定错误处理所需的行为。在这种情况下,“SilentlyContinue”意味着如果在删除过程中发生错误(例如,由于访问限制而无法删除某些文件或目录),该命令将继续执行,而不显示错误消息。
- Verbose:此参数启用详细模式,这意味着该命令将显示有关其操作的详细信息。在这种情况下,它将针对每个被删除的项目(文件或文件夹)显示一条消息。
将漫游文件夹映射移动到另一个驱动器
与其追赶AppData文件夹大小,不如将“AppData”文件夹移动到另一个具有更多存储空间的驱动器可能更实用。
- 在 Windows 资源管理器中打开 AppData 文件夹。
- 选择漫游文件夹,然后按 ALT+ENTER 打开文件夹属性。
- 切换到位置选项卡,输入新的漫游文件夹位置,然后单击确定。在此示例中,我将把漫游文件夹位置移动到 X 驱动器并保留文件夹结构。
- 如果新位置不存在,请单击“是”自动创建。
- 单击“是”将所有文件移动到新位置。
- 等待文件复制完成。
将临时文件夹映射移动到另一个驱动器
与漫游文件夹一样,您也可以将临时文件夹映射移动到另一个驱动器。但这一次,不需要将文件从旧位置移动到新位置,因为这些只是临时文件。让我们在 PowerShell 中执行此方法。
- 打开 PowerShell 并运行以下命令以确认当前的 TEMP 和 TMP 文件夹位置。
- [System.Environment]::GetEnvironmentVariable('TEMP', 'User') [System.Environment]::GetEnvironmentVariable('TMP', 'User')
- 如您所见,TEMP 位置位于 C 驱动器上。
- 运行以下命令指定新的 TEMP 文件夹位置。在此示例中,我将 TEMP 和 TMP 文件夹映射指向“X:UsersjuneAppDataLocalTemp”。$newTempDir = 'X:UsersjuneAppDataLocalTemp'
- 如果新的 TEMP 文件夹不存在,请运行以下命令来创建它。
- if (!(Test-Path $newTempDir)) { New-Item -ItemType Directory -Path $newTempDir -Force }
- 运行以下命令设置 TEMP 和 TMP 文件夹映射。
- [System.Environment]::SetEnvironmentVariable('TEMP', $newTempDir, 'User') [System.Environment]::SetEnvironmentVariable('TMP', $newTempDir, 'User') [System.Environment]::GetEnvironmentVariable('TEMP', 'User') [System.Environment]::GetEnvironmentVariable('TMP', 'User')
- 注销并登录以刷新 Windows 环境变量。
- 目前,对 TEMP 文件夹的引用将定向到您指定的新位置。您可以通过在 Windows 资源管理器或 CMD 中打开 %TEMP% 以及在 PowerShell 中打开 $ENV:TEMP 来测试它。
- 您现在可以删除旧 TEMP 文件夹中的文件。