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对象文件夹

13 回复

感谢分享! 不过这种事情, 用 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("资源管理器已重启。")

脚本说明:

  1. 核心原理:脚本修改的是当前用户(HKEY_CURRENT_USER)下的注册表。它找到系统为这些特殊文件夹创建的注册表项,并将其中的 System.IsPinnedToNameSpaceTree 值设置为 0(即取消“固定到导航窗格”)。
  2. 需要管理员权限:因为修改注册表(尤其是HKEY_CLASSES_ROOT下的部分)通常需要提升的权限。脚本开头会检查,如果没有,会尝试用runas重新启动自己。
  3. 运行后:修改注册表后,需要重启“Windows资源管理器”进程(就是桌面和文件管理器)才能看到效果。脚本最后会询问你是否要立即重启它。
  4. 恢复:如果想恢复显示,只需要把对应注册表项里的 System.IsPinnedToNameSpaceTree 值改回 1,或者直接删除你创建的这个值(让系统用默认值)。最保险的办法是事先用regedit导出相关注册表项做备份。

运行方法: 把上面的代码保存为一个 .py 文件(比如 hide_folders.py),然后在Windows上用管理员身份打开命令提示符或PowerShell,运行 python hide_folders.py。或者直接右键点击保存的.py文件,选择“以管理员身份运行”。

一句话总结:改注册表里对应文件夹GUID的System.IsPinnedToNameSpaceTree值就行。

写一个注册表文件不是更简单?

Windows Registry Editor Version 5.00
[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{31C0DD25-9439-4F12-BF41-7FF4EDA38722}\PropertyBag]
“ThisPCPolicy”=“Hide”

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 对象

DISM++了解一下

#8 如果你发现了新的自定义 windows 的规则,建议提交给 dism++团队,他们的轮子造的非常好,也有非常多的人在用

又不是直接影响生产力,还是尝试养成新的习惯吧,再过个三五年 win10 全面普及,到别人机器上操作的时候你就尝到苦头了

用 “ HIDE ” 有个副作用, [个人文件夹] 里面的 文档神马的也会被隐藏。。。但是从 C:\Users\xx 里面进去还会看得到

回到顶部