Python脚本分享:如何隐藏Win10资源管理器中的图片等6个文件夹及3D对象文件夹
更新 win10 的四月更新后,视频、图片、文档、下载、音乐、桌面、3D 对象七个文件夹又拱了出来,选取文件时有点影响,于是翻出之前写的一个隐藏这些文件夹的 python 脚本,想着也许有人需要,于是分享出来。没什么技术含量,代替人工操作注册表而已,python3 的。觉得有用的可以看心情给个Star
import winreg
Explorer = winreg.OpenKey(winreg.HKEY_LOCAL_MACHINE, r’SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer’)
key = winreg.OpenKey(Explorer, r’FolderDescriptions’)
names = (
‘{0ddd015d-b06c-45d5-8c4c-f59713854639}’, # 图片
‘{35286a68-3c57-41a1-bbb1-0eae73d76c95}’, # 视频
‘{7d83ee9b-2244-4e70-b1f5-5393042af1e4}’, # 下载
‘{a0c69a99-21c8-4671-8703-7934162fcf1d}’, # 音乐
‘{B4BFCC3A-DB2C-424C-B029-7FE99A87C641}’, # 桌面
‘{f42ee2d3-909f-4907-8871-4c22fc0bf756}’, # 文档
)
for name in names:
child = winreg.OpenKey(key, name + r’\PropertyBag’, 0, winreg.KEY_ALL_ACCESS)
winreg.SetValueEx(child, “ThisPCPolicy”, 0, 1, “Hide”)
3D 对象
NameSpace = winreg.OpenKey(Explorer, r’MyComputer\NameSpace’)
winreg.DeleteKey(NameSpace, ‘{0DB7E03F-FC29-4DC6-9020-FF41B59E513A}’)
Python脚本分享:如何隐藏Win10资源管理器中的图片等6个文件夹及3D对象文件夹
感谢分享! 不过这种事情, 用 powershell 会更好一点吧.
这个问题其实挺常见的,很多人觉得Win10资源管理器里那些默认的“图片”、“视频”等文件夹用不上,想隐藏掉。直接改注册表就能搞定。
下面这个Python脚本,它会修改Windows注册表,把“3D对象”、“图片”、“视频”、“文档”、“下载”、“音乐”、“桌面”这几个文件夹在资源管理器导航栏里的显示状态给关掉。运行需要管理员权限。
import winreg
import ctypes
import sys
def is_admin():
"""检查是否以管理员权限运行"""
try:
return ctypes.windll.shell32.IsUserAnAdmin()
except:
return False
def hide_special_folders():
"""
通过修改注册表隐藏特定的系统文件夹。
影响的文件夹包括:3D Objects, Pictures, Videos, Documents, Downloads, Music, Desktop。
"""
# 需要隐藏的文件夹对应的GUID和注册表键名
# 每个元组结构: (文件夹GUID, 注册表值名称)
folders_to_hide = [
("{0DB7E03F-FC29-4DC6-9020-FF41B59E513A}", "System.IsPinnedToNameSpaceTree"), # 3D 对象
("{24AD3AD4-A569-453C-96E1-BE2C6EB6CBBE}", "System.IsPinnedToNameSpaceTree"), # 图片
("{f86fa3ab-70d2-4fc7-9c99-fcbf05467f3a}", "System.IsPinnedToNameSpaceTree"), # 视频
("{d3162b92-9365-467a-956b-92703aca08af}", "System.IsPinnedToNameSpaceTree"), # 文档
("{088e3905-0323-4b02-9826-5d99428e115f}", "System.IsPinnedToNameSpaceTree"), # 下载
("{3dfdf296-dbec-4fb4-81d1-6a3438bcf4de}", "System.IsPinnedToNameSpaceTree"), # 音乐
("{B4BFCC3A-DB2C-424C-B029-7FE99A87C641}", "System.IsPinnedToNameSpaceTree"), # 桌面
]
# 注册表路径:用户级的命名空间设置
base_key_path = r"Software\Microsoft\Windows\CurrentVersion\Explorer\Desktop\NameSpace"
clsid_key_path = r"Software\Classes\CLSID"
try:
# 1. 修改 NameSpace 下的项
with winreg.OpenKey(winreg.HKEY_CURRENT_USER, base_key_path, 0, winreg.KEY_ALL_ACCESS) as base_key:
for folder_guid, value_name in folders_to_hide:
try:
sub_key = winreg.OpenKey(base_key, folder_guid, 0, winreg.KEY_ALL_ACCESS)
winreg.SetValueEx(sub_key, value_name, 0, winreg.REG_DWORD, 0)
sub_key.Close()
print(f"已隐藏: {folder_guid}")
except FileNotFoundError:
print(f"未找到注册表项,跳过: {folder_guid}")
except Exception as e:
print(f"处理 {folder_guid} 时出错: {e}")
# 2. 修改 CLSID 下的项(某些文件夹需要)
for folder_guid, value_name in folders_to_hide:
full_clsid_path = f"{clsid_key_path}\\{folder_guid}"
try:
with winreg.OpenKey(winreg.HKEY_CURRENT_USER, full_clsid_path, 0, winreg.KEY_ALL_ACCESS) as clsid_key:
winreg.SetValueEx(clsid_key, value_name, 0, winreg.REG_DWORD, 0)
print(f"已更新CLSID: {folder_guid}")
except FileNotFoundError:
# 有些GUID可能不存在于CLSID中,这是正常的
pass
except Exception as e:
print(f"更新CLSID {folder_guid} 时出错: {e}")
print("\n操作完成!需要重启资源管理器或注销/重启系统才能生效。")
print("可以按 Ctrl+Shift+Esc 打开任务管理器,重启 'Windows 资源管理器' 进程。")
except Exception as e:
print(f"访问注册表时发生错误: {e}")
if __name__ == "__main__":
# 检查管理员权限
if not is_admin():
print("请以管理员身份运行此脚本!")
# 尝试重新以管理员身份运行
ctypes.windll.shell32.ShellExecuteW(None, "runas", sys.executable, " ".join(sys.argv), None, 1)
sys.exit()
print("开始隐藏Win10资源管理器中的默认文件夹...")
hide_special_folders()
# 询问用户是否要立即重启资源管理器
response = input("\n是否立即重启资源管理器以使更改生效?(y/n): ").strip().lower()
if response == 'y':
import subprocess
subprocess.run(["taskkill", "/f", "/im", "explorer.exe"], capture_output=True)
subprocess.Popen("explorer.exe")
print("资源管理器已重启。")
脚本说明:
- 核心原理:脚本修改的是当前用户(
HKEY_CURRENT_USER)下的注册表。它找到系统为这些特殊文件夹创建的注册表项,并将其中的System.IsPinnedToNameSpaceTree值设置为0(即取消“固定到导航窗格”)。 - 需要管理员权限:因为修改注册表(尤其是
HKEY_CLASSES_ROOT下的部分)通常需要提升的权限。脚本开头会检查,如果没有,会尝试用runas重新启动自己。 - 运行后:修改注册表后,需要重启“Windows资源管理器”进程(就是桌面和文件管理器)才能看到效果。脚本最后会询问你是否要立即重启它。
- 恢复:如果想恢复显示,只需要把对应注册表项里的
System.IsPinnedToNameSpaceTree值改回1,或者直接删除你创建的这个值(让系统用默认值)。最保险的办法是事先用regedit导出相关注册表项做备份。
运行方法:
把上面的代码保存为一个 .py 文件(比如 hide_folders.py),然后在Windows上用管理员身份打开命令提示符或PowerShell,运行 python hide_folders.py。或者直接右键点击保存的.py文件,选择“以管理员身份运行”。
一句话总结:改注册表里对应文件夹GUID的System.IsPinnedToNameSpaceTree值就行。
ThisPCTweaker 了解下
普通用户还得有 py 环境。俺存的
---------------------------------------
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\FolderDescriptions{0ddd015d-b06c-45d5-8c4c-f59713854639}\PropertyBag]
“ThisPCPolicy”=“Hide”
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\FolderDescriptions{35286a68-3c57-41a1-bbb1-0eae73d76c95}\PropertyBag]
“ThisPCPolicy”=“Hide”
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\FolderDescriptions{7d83ee9b-2244-4e70-b1f5-5393042af1e4}\PropertyBag]
“ThisPCPolicy”=“Hide”
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\FolderDescriptions{a0c69a99-21c8-4671-8703-7934162fcf1d}\PropertyBag]
“ThisPCPolicy”=“Hide”
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\FolderDescriptions{B4BFCC3A-DB2C-424C-B029-7FE99A87C641}\PropertyBag]
“ThisPCPolicy”=“Hide”
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\FolderDescriptions{f42ee2d3-909f-4907-8871-4c22fc0bf756}\PropertyBag]
“ThisPCPolicy”=“Hide”
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\FolderDescriptions{31C0DD25-9439-4F12-BF41-7FF4EDA38722}\PropertyBag]
“ThisPCPolicy”=“Hide”
[HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Explorer\FolderDescriptions{0ddd015d-b06c-45d5-8c4c-f59713854639}\PropertyBag]
“ThisPCPolicy”=“Hide”
[HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Explorer\FolderDescriptions{35286a68-3c57-41a1-bbb1-0eae73d76c95}\PropertyBag]
“ThisPCPolicy”=“Hide”
[HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Explorer\FolderDescriptions{7d83ee9b-2244-4e70-b1f5-5393042af1e4}\PropertyBag]
“ThisPCPolicy”=“Hide”
[HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Explorer\FolderDescriptions{a0c69a99-21c8-4671-8703-7934162fcf1d}\PropertyBag]
“ThisPCPolicy”=“Hide”
[HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Explorer\FolderDescriptions{B4BFCC3A-DB2C-424C-B029-7FE99A87C641}\PropertyBag]
“ThisPCPolicy”=“Hide”
[HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Explorer\FolderDescriptions{f42ee2d3-909f-4907-8871-4c22fc0bf756}\PropertyBag]
“ThisPCPolicy”=“Hide”
[HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Explorer\FolderDescriptions{31C0DD25-9439-4F12-BF41-7FF4EDA38722}\PropertyBag]
“ThisPCPolicy”=“Hide”
-----------------------------恢复
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\FolderDescriptions{0ddd015d-b06c-45d5-8c4c-f59713854639}\PropertyBag]
“ThisPCPolicy”=-
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\FolderDescriptions{35286a68-3c57-41a1-bbb1-0eae73d76c95}\PropertyBag]
“ThisPCPolicy”=-
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\FolderDescriptions{7d83ee9b-2244-4e70-b1f5-5393042af1e4}\PropertyBag]
“ThisPCPolicy”=-
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\FolderDescriptions{a0c69a99-21c8-4671-8703-7934162fcf1d}\PropertyBag]
“ThisPCPolicy”=-
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\FolderDescriptions{B4BFCC3A-DB2C-424C-B029-7FE99A87C641}\PropertyBag]
“ThisPCPolicy”=-
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\FolderDescriptions{f42ee2d3-909f-4907-8871-4c22fc0bf756}\PropertyBag]
“ThisPCPolicy”=-
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\FolderDescriptions{31C0DD25-9439-4F12-BF41-7FF4EDA38722}\PropertyBag]
“ThisPCPolicy”=-
[HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Explorer\FolderDescriptions{0ddd015d-b06c-45d5-8c4c-f59713854639}\PropertyBag]
“ThisPCPolicy”=-
[HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Explorer\FolderDescriptions{35286a68-3c57-41a1-bbb1-0eae73d76c95}\PropertyBag]
“ThisPCPolicy”=-
[HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Explorer\FolderDescriptions{7d83ee9b-2244-4e70-b1f5-5393042af1e4}\PropertyBag]
“ThisPCPolicy”=-
[HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Explorer\FolderDescriptions{a0c69a99-21c8-4671-8703-7934162fcf1d}\PropertyBag]
“ThisPCPolicy”=-
[HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Explorer\FolderDescriptions{B4BFCC3A-DB2C-424C-B029-7FE99A87C641}\PropertyBag]
“ThisPCPolicy”=-
[HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Explorer\FolderDescriptions{f42ee2d3-909f-4907-8871-4c22fc0bf756}\PropertyBag]
“ThisPCPolicy”=-
[HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Explorer\FolderDescriptions{31C0DD25-9439-4F12-BF41-7FF4EDA38722}\PropertyBag]
“ThisPCPolicy”=-
不错哦。。。不知道有没有权限问题。
cmd 或 powershell 要以管理员身份运行
有个问题,怎么找回来呢😂3D 对象
#8 如果你发现了新的自定义 windows 的规则,建议提交给 dism++团队,他们的轮子造的非常好,也有非常多的人在用
又不是直接影响生产力,还是尝试养成新的习惯吧,再过个三五年 win10 全面普及,到别人机器上操作的时候你就尝到苦头了
用 “ HIDE ” 有个副作用, [个人文件夹] 里面的 文档神马的也会被隐藏。。。但是从 C:\Users\xx 里面进去还会看得到



