win系统 文件夹备注工具 -python
一. 操作步骤
- 复制代码
- 打包成exe
- 在win注册表 进行注册
- 使用
二. 源码
三. 注册表
- 创建文件
addRemarks.reg - 用记事本打开
- 输入内容
Windows Registry Editor Version 5.00
[HKEY_CLASSES_ROOT\Folder\shell\**文件夹备注**\command]
@="D:\Python38\remark.exe %1"
- 保持文件
D:\Python38\remark.exe 这个是remark.exe存放的具体位置根据自己的实际放置位置而定
文件保持一定要用ans编码
- 其他错误
如果创建失败就去注册表手动改一下
win+R 打开运行
输入regedit
注册位置
计算机\HKEY_CLASSES_ROOT\Folder\shell*文件夹备注*\command
四. 打包或者下载
下载地址:
https://gitee.com/SuperMondot/personal-storage/repository/blazearchive/master.zip?
自己打包:
安装pyinstaller
pip install pyinstaller
打包成exe 需要在remark.py所在的位置 即下面代码保存的位置
pyinstaller -F remark.py
五. 源码
# coding:utf-8
import sys
import os
import time
系统文件路径信息 = sys.argv # 获取外部参数的 列表 第一个是文件本事 后面的是外部参数 用空格隔开
系统编码 = sys.getfilesystemencoding() # 获取系统编码,确保备注不会出现乱码
# 将代码中的字符转换为系统编码
def 系统转码(内容):
return 内容.encode(系统编码).decode(系统编码)
# 将消息统一格式
def 信息转码(消息):
print(系统转码(u" * " + 消息))
try:
文件夹路径 = ''
if len(系统文件路径信息) == 1:
信息转码(f'操作失败 选中的不是一个文件夹或者不是正确的路径')
else:
# 因为参数是用空格隔开的所以要手动拼接
for 参数路径 in 系统文件路径信息[1:]:
文件夹路径 += 参数路径 + ' '
文件夹路径 = 文件夹路径.rstrip() # 排除后面的空格
信息转码(f'系统文件路径信息:{文件夹路径}|++++++++++++')
配置文件 = fr"{文件夹路径}{os.sep}desktop.ini"
换行符 = '\n'
文件夹备注 = input(' * 请输入文件夹备注信息(按回车键结束输入):')
while not os.path.isdir(文件夹路径):
信息转码(f'操作失败 选中的不是一个文件夹或者不是正确的路径: {文件夹路径}')
# 判断配置文件是否存在
if os.path.exists(配置文件):
信息转码(f'该文件夹已经备注过 尝试修改备注 {文件夹路径}')
os.system(fr'attrib -s -h "{配置文件}"') # 开放文件权限 # A存档文件属性;S系统文件属性;H隐藏文件属性;
# 先读取文件内容 并修改备注一栏 好像没办法通过w+模式读写 只能分两次了
ini = []
with open(配置文件, 'r', encoding='ANSI') as f:
for 当前行 in f:
if 当前行[:8] == 'InfoTip=':
ini.append(f"InfoTip={文件夹备注}\n")
else:
ini.append(当前行)
# 重新写入内容
with open(配置文件, 'w+', encoding='ANSI') as f:
for 写入行 in ini:
f.write(写入行)
os.system(fr'attrib +s +h "{配置文件}"') # 锁定文件权限
信息转码(f'操作成功 备注信息改为: {文件夹备注}')
else:
信息转码(f'该文件夹没有备注过 尝试创建备注 {文件夹路径}')
with open(配置文件, 'w+', encoding='ANSI') as f:
配置文本 = f'''[ViewState]{换行符}Mode={换行符}Vid={换行符}FolderType=Generic{换行符}[.ShellClassInfo]{换行符}InfoTip={文件夹备注}{换行符}'''
f.write(配置文本)
os.system(fr'attrib +s +h "{配置文件}"') # 锁定文件权限
信息转码(f'操作成功 备注信息设为: {文件夹备注}')
os.system(fr'attrib +s "{文件夹路径}"') # 刷新
except Exception as e:
信息转码(f'操作失败 {e}')
print(系统转码(u" * 等待自动退出 或 按 ctrl + c 退出程序") + os.linesep)
time.sleep(3)
sys.exit(0)
六. 使用
- 只能给文件夹备注
- 备注成功后要等一会
- 实在不显示修改一下文件夹图标就行
使用效果