数码之家

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 227|回复: 6

[软件] WIN10隐藏 “此电脑” 界面的7个文件夹的批处理脚本

[复制链接]
发表于 前天 20:01 | 显示全部楼层 |阅读模式

爱科技、爱创意、爱折腾、爱极致,我们都是技术控

您需要 登录 才可以下载或查看,没有账号?立即注册

x
本帖最后由 xajunxm 于 2026-9-19 20:11 编辑

机子安装了Win10 Enterprise LTSC 2021 企业正式版。

但打开“此电脑”后,界面显示的7个文件夹(图片、视频、文档、音乐、下载、桌面、3D对象),感到无用、占桌面,遂决定删除或隐藏这7个文件夹。
偷了个懒,让DEEPSEEK写了个批处理脚本,为了安全起见,又让DEEPSEEK审查了一遍它编写的脚本,确认无误。

脚本不错。执行脚本后,根据脚本提示,按1隐藏,按2恢复,按3退出。

实际使用,完全正常。

此脚本只适用于WIN10,其它WINDOWS版本勿用。

只要将以下脚本复制粘贴到文本文件(TXT文件),编码方式ANSI。保存后随便起个文件名,将扩展名由TXT改成BAT即可执行。


@echo off
title Win10 此电脑文件夹管理工具
setlocal enabledelayedexpansion

:: ========== 检查并请求管理员权限 ==========
fltmc >nul 2>&1
if %errorlevel% neq 0 (
    echo 正在请求管理员权限...
    powershell -Command "Start-Process -FilePath '%~f0' -Verb RunAs"
    exit /B
)

:: ========== 文件夹 GUID 定义 ==========
set "GUID_3D={0DB7E03F-FC29-4DC6-9020-FF41B59E513A}"
set "GUID_Pictures={0ddd015d-b06c-45d5-8c4c-f59713854639}"
set "GUID_Documents={f42ee2d3-909f-4907-8871-4c22fc0bf756}"
set "GUID_Downloads={7d83ee9b-2244-4e70-b1f5-5393042af1e4}"
set "GUID_Music={a0c69a99-21c8-4671-8703-7934162fcf1d}"
set "GUID_Videos={35286a68-3c57-41a1-bbb1-0eae73d76c95}"
set "GUID_Desktop={B4BFCC3A-DB2C-424C-B029-7FE99A87C641}"

:: ========== 注册表基础路径 ==========
set "FD_BASE=HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\FolderDescriptions"
set "NS_BASE=HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\MyComputer\NameSpace"

:: ========== 主菜单 ==========
:MainMenu
cls
echo ============================================
echo        Win10 此电脑文件夹管理工具
echo ============================================
echo.
echo   [1] 隐藏全部 7 个文件夹
echo   [2] 恢复全部 7 个文件夹
echo   [3] 退出
echo.
set /p "choice=请输入选项 (1/2/3): "

if "%choice%"=="1" goto HideAll
if "%choice%"=="2" goto ShowAll
if "%choice%"=="3" exit /B
echo 输入无效,请重新选择。
pause
goto MainMenu

:: ========== 隐藏功能 ==========
:HideAll
cls
echo 正在隐藏文件夹...

call :HideFolder "%GUID_3D%"        "3D 对象"
call :HideFolder "%GUID_Pictures%"  "图片"
call :HideFolder "%GUID_Documents%" "文档"
call :HideFolder "%GUID_Downloads%" "下载"
call :HideFolder "%GUID_Music%"     "音乐"
call :HideFolder "%GUID_Videos%"    "视频"
call :HideFolder "%GUID_Desktop%"   "桌面"

echo.
echo 正在重启资源管理器...
taskkill /f /im explorer.exe >nul 2>&1
start explorer.exe
echo 完成!文件夹已隐藏。
pause
goto MainMenu

:: ========== 恢复功能 ==========
:ShowAll
cls
echo 正在恢复文件夹...

call :ShowFolder "%GUID_3D%"        "3D 对象"
call :ShowFolder "%GUID_Pictures%"  "图片"
call :ShowFolder "%GUID_Documents%" "文档"
call :ShowFolder "%GUID_Downloads%" "下载"
call :ShowFolder "%GUID_Music%"     "音乐"
call :ShowFolder "%GUID_Videos%"    "视频"
call :ShowFolder "%GUID_Desktop%"   "桌面"

echo.
echo 正在重启资源管理器...
taskkill /f /im explorer.exe >nul 2>&1
start explorer.exe
echo 完成!文件夹已恢复。
pause
goto MainMenu

:: ========== 子程序:隐藏单个文件夹 ==========
:HideFolder
set "guid=%~1"
set "name=%~2"
echo   正在隐藏: %name%

:: 1. 设置 FolderDescriptions 下的 ThisPCPolicy 为 Hide(同时处理 64 位和 32 位视图)
reg add "%FD_BASE%\%guid%\PropertyBag" /v "ThisPCPolicy" /t REG_SZ /d "Hide" /f /reg:64 >nul 2>&1
reg add "%FD_BASE%\%guid%\PropertyBag" /v "ThisPCPolicy" /t REG_SZ /d "Hide" /f /reg:32 >nul 2>&1

:: 2. 删除 NameSpace 下的 GUID 项(同时处理 64 位和 32 位视图)
reg delete "%NS_BASE%\%guid%" /f /reg:64 >nul 2>&1
reg delete "%NS_BASE%\%guid%" /f /reg:32 >nul 2>&1

exit /B

:: ========== 子程序:恢复单个文件夹 ==========
:ShowFolder
set "guid=%~1"
set "name=%~2"
echo   正在恢复: %name%

:: 1. 将 ThisPCPolicy 改回 Show(同时处理 64 位和 32 位视图)
reg add "%FD_BASE%\%guid%\PropertyBag" /v "ThisPCPolicy" /t REG_SZ /d "Show" /f /reg:64 >nul 2>&1
reg add "%FD_BASE%\%guid%\PropertyBag" /v "ThisPCPolicy" /t REG_SZ /d "Show" /f /reg:32 >nul 2>&1

:: 2. 重新添加 NameSpace 项,并设置默认值为空(同时处理 64 位和 32 位视图)
reg add "%NS_BASE%\%guid%" /ve /t REG_SZ /d "" /f /reg:64 >nul 2>&1
reg add "%NS_BASE%\%guid%" /ve /t REG_SZ /d "" /f /reg:32 >nul 2>&1

exit /B




特别注意,执行前一定要先备份注册表,以防万一。
还有个注册表备份脚本,方法同上。

备份注册表在U盘上执行,注册表会自动备份到U盘。




@echo off
title 注册表备份工具 - Explorer 分支
setlocal enabledelayedexpansion

:: ========== 生成时间戳(使用 PowerShell,更可靠) ==========
for /f "delims=" %%I in ('powershell -NoProfile -Command "Get-Date -Format yyyyMMdd_HHmmss"') do set "timestamp=%%I"
if "%timestamp%"=="" set "timestamp=backup"

:: ========== 备份路径:脚本所在目录 ==========
set "BACKUP_DIR=%~dp0"
set "BACKUP_FILE_64=%BACKUP_DIR%Explorer_Backup_64_%timestamp%.reg"
set "BACKUP_FILE_32=%BACKUP_DIR%Explorer_Backup_32_%timestamp%.reg"

echo ============================================
echo        正在备份注册表 Explorer 分支
echo ============================================
echo.

:: ========== 导出 64 位视图 ==========
reg export "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer" "%BACKUP_FILE_64%" /y /reg:64 >nul 2>&1
if %errorlevel% equ 0 (
    echo [成功] 64 位视图已备份:
    echo        %BACKUP_FILE_64%
) else (
    echo [失败] 64 位视图备份出错!请尝试以管理员身份运行。
)

:: ========== 导出 32 位视图 ==========
reg export "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer" "%BACKUP_FILE_32%" /y /reg:32 >nul 2>&1
if %errorlevel% equ 0 (
    echo [成功] 32 位视图已备份:
    echo        %BACKUP_FILE_32%
) else (
    echo [失败] 32 位视图备份出错!可能该视图下无此分支。
)

echo.
echo 备份完成,文件已保存到脚本所在目录。
echo.
echo 恢复方法:
echo   1. 双击对应的 .reg 文件,按提示导入。
echo   2. 或以管理员身份运行 CMD,执行:
echo      reg import "备份文件路径"
echo.
pause
exit /B






发表于 前天 21:14 | 显示全部楼层
游客请登录后查看回复内容
回复 支持 反对

使用道具 举报

发表于 昨天 00:17 | 显示全部楼层
游客请登录后查看回复内容
回复 支持 反对

使用道具 举报

发表于 昨天 07:03 | 显示全部楼层
游客请登录后查看回复内容
回复 支持 反对

使用道具 举报

发表于 昨天 08:58 | 显示全部楼层
游客请登录后查看回复内容
回复 支持 反对

使用道具 举报

发表于 昨天 20:19 | 显示全部楼层
游客请登录后查看回复内容
回复 支持 反对

使用道具 举报

发表于 昨天 20:35 | 显示全部楼层
游客请登录后查看回复内容
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

APP|手机版|小黑屋|关于我们|联系我们|法律条款|数码之家-技术知识分享平台

闽公网安备35020502000485号

闽ICP备2021002735号-2

GMT+8, 2026-9-21 19:42 , Processed in 0.124800 second(s), 5 queries , Gzip On, Redis On.

Powered by Discuz!

© MyDigit.Net Since 2006

快速回复 返回顶部 返回列表