侧边栏壁纸
  • 累计撰写 30 篇文章
  • 累计创建 38 个标签
  • 累计收到 3 条评论

给文件夹添加备注

kiko
2022-01-23 / 0 评论 / 0 点赞 / 185 阅读 / 2,361 字
温馨提示:
本文最后更新于 2022-02-26,若内容或图片失效,请留言反馈。部分素材来自网络,若不小心影响到您的利益,请联系我们删除。

Windows中给文件夹添加备注

起因

今天整理了一下文件夹,发现很多文件夹重名了,但是内容却不一样,就想着怎么把文件夹添加个备注来区分一下。百度转了一圈,方法倒是有,但是特别麻烦,知乎方案,要下软件,修改一大堆东西。

突破

我理想中是能直接编辑文件夹实现备注,但是windows的资源管理器我没法修改,只能从他给的备注入手。但当我看到下面这个blog的做法后,才有点我心中的意思。
windows系统给文件夹添加备注(详细版)

但是,还不够。

不够快捷,每次都要拖动文件夹到这个软件中。于是我想到将这个程序添加进鼠标右键,就可以像重命名一样进行修改。

效果

最终效果

步骤

我这里用的是python语言,考虑到一些小白可能没有python环境,于是将py文件进行编译成exe文件进行使用。

编译

有python环境的可以按下面教程进行编译,没有的直接下载我的exe文件

接下来贴上源代码remark.py

# -*- coding: utf-8 -*
# Filename: comment.py

__author__ = 'Piratf'

import sys
import os

# 获取系统编码,确保备注不会出现乱码
defEncoding = sys.getfilesystemencoding()


# 将代码中的字符转换为系统编码
def sysEncode(content):
    return content.encode(defEncoding).decode(defEncoding)


def runCommand(command):
    # 我使用 cxfreeze 打包成 exe 程序,如果用 popen 运行时会出现没有 subprocess 模块的 bug,所以用 system 运行系统命令
    # 如果有更好的办法请联系我,感谢
    os.system(command)


def re_enterMessage(message):
    print(sysEncode(u" * " + message))
    print(sysEncode(u" * 重新输入或按 ctrl + c 退出程序") + os.linesep)


def getSettingFilePath(fpath):
    return fpath + os.sep + 'desktop.ini'


def addCommentToFolder(fpath, comment):
    content = sysEncode(u'[.ShellClassInfo]' + os.linesep + 'InfoTip=')
    # 开始设置备注信息
    settingFilePath = getSettingFilePath(fpath)
    with open(settingFilePath, 'w') as f:
        f.write(content)
        f.write(sysEncode(comment + os.linesep))

    # 添加保护
    runCommand('attrib ' + settingFilePath + ' +s +h')
    runCommand('attrib ' + fpath + ' +s ')

    print(sysEncode(u"备注添加成功~"))
    print(sysEncode(u"备注可能过一会才会显示,不要着急"))


def addComment(fpath=None, comment=None):
    inputPathMsg = sysEncode(u"请输入文件夹路径(或拖动文件夹到这里): ")
    inputCommentMsg = sysEncode(u"请输入文件夹备注:")

    # 输入文件夹路径
    if (fpath == None):
        if (len(sys.argv) == 1):
            fpath = input(inputPathMsg)
        else:
            fpath = sys.argv[1]

    # 判断路径是否存在文件夹
    while not os.path.isdir(fpath):
        re_enterMessage(u"你输入的不是一个文件夹路径")
        fpath = input(inputPathMsg)

    settingFilePath = getSettingFilePath(fpath)

    # 判断设置文件是否已经存在
    if (os.path.exists(settingFilePath)):
        # 去除保护属性
        runCommand('attrib ' + settingFilePath + ' -s -h')

    # 输入文件夹的备注
    if (comment == None):
        comment = input(inputCommentMsg)

    while not comment:
        re_enterMessage(u"备注不要为空哦")
        comment = input(inputCommentMsg)

    addCommentToFolder(fpath, comment)


if __name__ == '__main__':
    addComment()

安装pyinstaller

pip install pyinstaller

remark.py使用cmd输入

pyinstaller -F remark.py

编译success后,dist里面就是编译完成的exe文件。

添加右键菜单

将remark.exe随便放置个位置。例如我放在D:\文件夹备注程序\remark.exe
然后在随便哪个目录创建一个addRemarks.reg文件,写入下面的文件。记得替换你自己的文件路径。

Windows Registry Editor Version 5.00
[HKEY_CLASSES_ROOT\Folder\shell\添加备注\command]
@="D:\文件夹备注程序\remark.exe \"%1\""

双击运行即可。

右键就出来了。

0

评论区