Windows 清理最近访问记录脚本

309 阅读3分钟

最近几天回家,家人会有用我电脑的需求,偶尔也会有小朋友拿我电脑玩游戏,这时候尴尬的事就出现了,电脑的最近记录里有不少清凉小姐姐图片访问记录,哪怕我把图片视频都删了,访问记录还在,一条条记录删除又太麻烦。本来想彻底关闭这个功能,但是有时候也挺好用的。后面发现只要删除三个目录下的文件就可以删除记录,但是如果每次都要翻这三个目录也挺麻烦,所以就写成了脚本。

批处理脚本介绍

该脚本具备以下功能:

  1. 自动请求管理员权限,确保有足够的权限执行清理操作。管理员权限不是必须的,但是可能部分电脑系统会需要
  2. 清理最近打开的文件记录,包括标准的最近文件、自动目标和自定义目标。
  3. 提示用户是否需要重启资源管理器,测试发现清理这些文件后,访问记录依旧会存在半分钟以上,但是重启资源管理器就能解决

脚本内容

chcp 65001
@echo off
:: 检查是否以管理员权限运行
net session >nul 2>&1
if %errorlevel% neq 0 (
    echo 需要管理员权限,请授权...
    powershell Start-Process -FilePath "%~0" -Verb RunAs
    exit
)

:: 清理最近打开的文件记录
echo 正在清理最近打开的文件记录...
del /F /Q "%APPDATA%\Microsoft\Windows\Recent\*"
del /F /Q "%APPDATA%\Microsoft\Windows\Recent\AutomaticDestinations\*"
del /F /Q "%APPDATA%\Microsoft\Windows\Recent\CustomDestinations\*"

echo.
echo 清理完成!

:: 是否重启资源管理器
set /p RESTART_EXPLORER=是否需要立即重启资源管理器以清除残留记录?(Y/N):
if /I "%RESTART_EXPLORER%"=="Y" (
    echo 正在重启资源管理器...
    taskkill /F /IM explorer.exe
    start explorer.exe
    echo 资源管理器已重新启动!
) 

pause
exit

脚本详细解析

1. 请求管理员权限

net session >nul 2>&1
if %errorlevel% neq 0 (
    echo 需要管理员权限,请授权...
    powershell Start-Process -FilePath "%~0" -Verb RunAs
    exit
)

这部分代码用于检测脚本是否以管理员权限运行,如果不是,则通过 PowerShell 重新启动脚本,并请求用户授权。

2. 清理最近文件

del /F /Q "%APPDATA%\Microsoft\Windows\Recent\*"
del /F /Q "%APPDATA%\Microsoft\Windows\Recent\AutomaticDestinations\*"
del /F /Q "%APPDATA%\Microsoft\Windows\Recent\CustomDestinations\*"

del /F /Q 命令用于强制删除指定目录下的文件:

  • Recent\*:存储所有最近打开的文件记录。
  • AutomaticDestinations\*CustomDestinations\*:包含自动和自定义的最近项目。

3. 询问用户是否重启资源管理器

set /p RESTART_EXPLORER=是否需要立即重启资源管理器以清除残留记录?(Y/N):

用户可以选择是否立即重启资源管理器,以确保更改生效。

if /I "%RESTART_EXPLORER%"=="Y" (
    taskkill /F /IM explorer.exe
    start explorer.exe
    echo 资源管理器已重新启动!
)

如果用户输入 Y,则会终止并重新启动 explorer.exe 进程。

4. 脚本结束

pause
exit

pause 命令会在清理完成后暂停屏幕,等待用户按键。

如何使用该脚本?

  1. 将上述脚本内容保存为 clear_recent_files.bat 文件。
  2. 双击该bat文件
  3. 根据提示选择是否重启资源管理器。

这个脚本能够快速、有效地清理 Windows 系统中的最近文件记录,保护隐私。简单易用,适合定期执行,避免敏感信息泄露。最后祝各位新年快乐🎉