python - 有没有办法用 Python 更改 windows 文件夹缩略图?
问题描述
我的硬盘上有数百个图像文件夹,除了极少数例外,它们每个都有一个封面图像,我想用作它们各自的文件夹缩略图,或者至少是一个令人难忘的第一张图像。不幸的是,Windows 10 默认使用文件夹中的两个随机图像作为缩略图,我必须每次手动选择第一个图像作为文件夹属性中的缩略图。最近Windows自动擦除了缩略图缓存,我真的不想手动重置这些文件夹上的缩略图。
有没有办法自动进入文件夹的属性、自定义选项卡、文件夹图片以及每次选择文件夹中的第一个项目?或者我是否需要 Windows 出于安全原因没有的假设“Folder.properties.setFolderPicture()”?Python 是我唯一有经验的语言,但如果我需要另一种语言来做到这一点,我愿意尝试。
解决方案
我没有评论的声誉,所以我在这里堆积我的答案。我觉得您最好为此目的使用文件夹图标,因为在 Internet 上没有任何地方可以找到以编程方式设置文件夹图片的方法,但我敢肯定它是一些注册表技巧。
import os
from PIL import Image
from configparser import ConfigParser
MAX_SIZE = 256, 256
image = Image.open(name_dot_format)
image.thumbnail(MAX_SIZE)
image.save(name_dot_ico)
ini = ConfigParser()
ini['.ShellClassInfo'] = {'IconResource': f'{name_dot_ico},0'}
try:
with open('desktop.ini', 'w') as desktop_ini:
ini.write(desktop_ini)
os.system("attrib +s +h desktop.ini")
os.system("attrib +r .")
except PermissionError:
# Don't mess up the already existing desktop.ini
os.system("attrib -r .")
os.system("attrib -s -h desktop.ini")
with open('desktop.ini', 'a') as desktop_ini:
ini.write(desktop_ini)
os.system("attrib +s +h desktop.ini")
os.system("attrib +r .")
推荐阅读
- sql - 带有包含二进制数据的 WHERE 子句的 SQL 查询
- javascript - 循环块后Javascript json对象为空
- javascript - 无法访问使用 React.lazy 导入的组件的静态属性
- azure-api-management - APIM 处于消费模式 - 通过 /status-0123456789abcdef 获取 Azure APIM 运行状况检查返回“找不到资源”
- deep-learning - 在与图像翻译非常相似的任务中,如何处理 UNet 编码器/解码器 CNN 中的严重过拟合?
- asynchronous - 如何编写一个需要消费者将切片的内容memcpy到自己的分配中的流?
- amazon-web-services - AWS ALB - 如果重新创建底层 ALB,是否需要新证书?
- c# - 如何从 c# 控制台应用程序中的用户输入创建多个对象?
- node.js - 如何在 browserstack 中找到当前可用于测试的移动设备
- c# - 如何在字节数组C#中转换具有随机长度的字符串