前言
安装的软件太多,有时候记不得文件夹内软件是干嘛用的了,找了几种方法,发现直接在文件夹添加desktop.ini文件夹的方法最有效,有关desktop.ini文件的说明见微软介绍。
实现效果:
- 直接在文件管理器中显示文件夹设置后的名称
- 不影响原本文件路径
代码实现
结合utools中的快捷命令工具,通过python实现快捷设置文件夹的别名,具体代码如下
import os
# pip install pypiwin32
import win32con,win32api
# 文件夹路径
folder_path = "{{MatchedFiles[0].path}}"
# 新建备注文件并保存内容
def create_file(file_path, content):
# 检查是否文件已存在
if os.path.exists(file_path):
os.remove(file_path)
with open(file_path, 'w', encoding='ANSI') as f:
f.write(content)
print(f"文件 {file_path} 已创建并保存内容")
# 备注名称
remarks_name = "{{subinput:请输入}}"
# 设置备注文件的内容信息
memo =f'''
[.ShellClassInfo]
LocalizedResourceName={remarks_name}
'''
# 备注文件的路径
memo_path = os.path.join(folder_path, f"desktop.ini")
# 保存备注文件
create_file(memo_path, memo)
# 设置备注文件为隐藏和系统文件
win32api.SetFileAttributes(memo_path, win32con.FILE_ATTRIBUTE_HIDDEN + win32con.FILE_ATTRIBUTE_SYSTEM)
# 设置文件夹属性
win32api.SetFileAttributes(folder_path, win32con.FILE_ATTRIBUTE_READONLY)
可直接导入utools中快捷命令插件的json配置文本
{
"program": "python",
"cmd": "import os\r\n# pip install pypiwin32\r\nimport win32con,win32api\r\n\r\n# 文件夹路径\r\nfolder_path = \"{{MatchedFiles[0].path}}\"\r\n\r\n# 新建备注文件并保存内容\r\ndef create_file(file_path, content):\r\n # 检查是否文件已存在\r\n if os.path.exists(file_path):\r\n os.remove(file_path)\r\n with open(file_path, 'w', encoding='ANSI') as f:\r\n f.write(content)\r\n print(f\"文件 {file_path} 已创建并保存内容\")\r\n\r\n# 备注名称\r\nremarks_name = \"{{subinput:请输入}}\"\r\n# 设置备注文件的内容信息\r\nmemo =f'''\r\n[.ShellClassInfo]\r\nLocalizedResourceName={remarks_name}\r\n'''\r\n# 备注文件的路径\r\nmemo_path = os.path.join(folder_path, f\"desktop.ini\")\r\n\r\n# 保存备注文件\r\ncreate_file(memo_path, memo)\r\n# 设置备注文件为隐藏和系统文件\r\nwin32api.SetFileAttributes(memo_path, win32con.FILE_ATTRIBUTE_HIDDEN + win32con.FILE_ATTRIBUTE_SYSTEM)\r\n# 设置文件夹属性\r\nwin32api.SetFileAttributes(folder_path, win32con.FILE_ATTRIBUTE_READONLY)",
"scptarg": "",
"charset": {
"scriptCode": "",
"outputCode": "GBK"
},
"customOptions": {
"bin": "",
"argv": "",
"ext": ""
},
"features": {
"explain": "修改文件夹备注",
"platform": [
"win32",
"linux",
"darwin"
],
"icon": "logo/python.png",
"mainPush": false,
"code": "files_esnr207hv",
"cmds": [
{
"type": "files",
"label": "修改文件夹备注",
"match": "/*/",
"minLength": 1
}
]
},
"output": "text",
"tags": [],
"hasSubInput": true
}
效果展示
生成的desktop.ini文件内容:
[.ShellClassInfo]
LocalizedResourceName=串流工具