一键自动整理桌面 V0

前言

  • 我这个人比较懒,总是喜欢把收到的重要文件,或者比较紧急的文件放到桌面
  • 久而久之,桌面或者文件夹越来越乱
  • 不知道大家是不是像我一样的
    图片
  • 我滴妈呀,看着就很崩溃!
    图片

原因

  • 之所以放在桌面上,主要是为了下次使用的时候好找
  • 但是,其实,结果…并没有
  • 结果,我的马马~~
  • 反而更难找了
  • 也不知道越乱越好找这句话是谁第一个传出来的!!!

图片

解决

  • 不过还好我会Python,直接写了一个脚本,用来整理桌面或者文件夹。
  • python脚本里的文件类型
  • 我们可以自己根据需要进行扩展

图片

效果展示

图片

原理

格式定义

首先,将我们要整理的文件格式进行一下分类,如下。
大家可以根据自己的实际要求,对需要格式的文件类型进行自定义。

{
    
    
	"图片资料": [".jpg", ".jpeg", ".bmp", ".png", ".gif", ".tiff", ".svg", ".webp"],
	"文档资料": [
		".doc", ".docx", ".xls", ".xlsx", ".ppt", ".pptx", ".pdf", ".txt", ".md",
		".odt", ".rtf", ".wps", ".csv", ".epub"
	],
	"视频文件": [".mp4", ".avi", ".wmv", ".mov", ".mkv", ".flv", ".webm", ".mpeg"],
	"音频文件": [".mp3", ".wav", ".aac", ".ogg", ".flac", ".m4a", ".wma"],
	"压缩文件": [".rar", ".zip", ".tar", ".gz", ".7z", ".bz2", ".xz", ".lz"],
	"脚本文件": [".ps1", ".sh", ".bat", ".py", ".rb", ".php", ".js", ".html"],
	"可执行文件": [".exe", ".msi", ".app", ".bat"],
	"网页文件": [".html", ".xml", ".mhtml", ".css", ".js"],
	"快捷方式": [".lnk"],
	"字体文件": [".ttf", ".otf", ".woff", ".woff2"],
	"数据库文件": [".db", ".sql", ".sqlite"],
	"虚拟机文件": [".vmdk", ".vdi", ".iso"],
	"系统文件": [".dll", ".sys", ".ini", ".cfg"],
	"日志文件": [".log"]
}

遍历要整理的文件夹

# 定义要整理的文件夹
orginizePath='D:\\direct'
print(os.scandir(orginizePath))
 
# 循环整理的文件夹
# 完整源码自取裙 592539176
for myfile in os.scandir(orginizePath):
    # 跳过文件夹
    if myfile.is_dir():
        print('%s是文件夹'%myfile)
        continue
    # 输出文件的名
    print(myfile.name)

整理文件夹

通过,我们定义的格式类型,创建相应的文件夹。
例如:定义的图片资料类型。

"图片资料":[".jpg",".jpeg",".bpm",'.png','.gif']

如果检测到用包含的.jpg 等格式的文件,我们就创建一个 图片资料文件夹。
然后将文件夹中的 .jpg格式的文件,移动到 图片资料文件夹中。

#找到要整理的文件路径
file_path=Path(orginizePath+'\\'+myfile.name)
lower_file_path=file_path.suffix.lo                                                                                                                                                                                                          wer()
#循环遍历我们定义的格式类型
for geshi in FILE_FORMATS:
    if lower_file_path in FILE_FORMATS[geshi]:
        directory_path=Path(orginizePath+'\\'+geshi)
        directory_path.mkdir(exist_ok=True)
        file_path.rename(directory_path.joinpath(myfile.name))
        print('文件整理已完成!')

脚本运行方法

直接,使用Python + 脚本运行即可。

python py文件位置

整理效果如下

直接将脚本中的文件路径,改成你要整理的路径即可。
在这里插入图片描述

加界面的完整代码

在这里插入图片描述
现在就方便大家使用了

import os
from pathlib import Path
import tkinter as tk
from tkinter import filedialog, messagebox

# 定义不同类型的文件格式
FILE_FORMATS = {
    
    
    "图片资料": [".jpg", ".jpeg", ".bmp", ".png", ".gif"],
    "文档资料": [".doc", ".docx", ".xls", ".xlsx", ".ppt", ".pptx", ".pdf", "file_formats.txt.txt", ".md"],
    "视频文件": [".mp4", ".avi", ".wmv"],
    "音频文件": [".mp3"],
    "压缩文件": [".rar", ".zip", ".tar", ".gz", ".7z", ".bz2"],
    "脚本文件": [".ps1", ".sh", ".bat", ".py"],
    "可执行文件": [".exe", ".msi"],
    "网页文件": [".html", ".xml", ".mhtml"],
    "快捷方式": [".lnk"],
}

def organize_files(folder_path):
    for myfile in os.scandir(folder_path):
        if myfile.is_dir():
            continue

        file_path = Path(folder_path) / myfile.name
        lower_file_path = file_path.suffix.lower()

        for geshi in FILE_FORMATS:
            if lower_file_path in FILE_FORMATS[geshi]:
                directory_path = Path(folder_path) / geshi
                directory_path.mkdir(exist_ok=True)
                file_path.rename(directory_path / myfile.name)
                break

    messagebox.showinfo("完成", "文件整理已完成!")

def select_folder():
    folder_path = filedialog.askdirectory()
    if folder_path:
        organize_files(folder_path)

# 创建主窗口
root = tk.Tk()
root.title("文件整理工具")
root.geometry("400x200")  # 设置窗口大小
root.resizable(False, False)  # 禁止改变窗口大小
root.configure(bg="#f0f0f0")  # 设置背景颜色

# 创建标题标签
title_label = tk.Label(root, text="文件整理工具", font=("楷体", 16), bg="#f0f0f0")
title_label.pack(pady=20)

# 创建选择文件夹按钮
select_button = tk.Button(root, text="选择要整理的文件夹", command=select_folder)
select_button.pack(pady=10)

# 创建退出按钮
exit_button = tk.Button(root, text="退出", command=root.quit)
exit_button.pack(pady=10)

# 启动主循环
root.mainloop()

猜你喜欢

转载自blog.csdn.net/m0_73536593/article/details/143157286