jack 11 miesięcy temu
commit
ef4c2263a6
6 zmienionych plików z 47 dodań i 0 usunięć
  1. 1 0
      build.sh
  2. BIN
      icon.ico
  3. BIN
      icon.png
  4. BIN
      main.exe
  5. 39 0
      main.py
  6. 7 0
      png2ico.py

+ 1 - 0
build.sh

@@ -0,0 +1 @@
+pyinstaller --onefile --icon=icon.ico main.py

BIN
icon.ico


BIN
icon.png


BIN
main.exe


+ 39 - 0
main.py

@@ -0,0 +1,39 @@
+import os
+import sys
+import shutil
+
+while True:
+    target_folder_path = input('输入目标文件夹路径:(输入q退出) ')
+    if target_folder_path.lower() == 'q':
+        sys.exit(0)
+    # 获取目标文件夹下的所有子文件夹
+    try:
+        entries = os.listdir(target_folder_path)
+    except FileNotFoundError:
+        print(f"目标文件夹路径 {target_folder_path} 不存在, 重新输入文件路径, 或者输入q退出")
+        continue
+
+    folders = [entry for entry in entries if os.path.isdir(
+        os.path.join(target_folder_path, entry))]
+
+    for folder in folders:
+        folder_path = os.path.join(target_folder_path, folder)
+        # 获取子文件夹中的所有内容
+        sub_entries = os.listdir(folder_path)
+        sub_folders = [entry for entry in sub_entries if os.path.isdir(
+            os.path.join(folder_path, entry))]
+
+        # 如果子文件夹中只有一个文件夹
+        if len(sub_folders) == 1:
+            sub_folder_path = os.path.join(folder_path, sub_folders[0])
+            # 移动子文件夹中的所有图片文件到上一级目录
+            for file in os.listdir(sub_folder_path):
+                if file.endswith(('.png', '.webp', 'gif', 'jpg')):
+                    shutil.move(os.path.join(sub_folder_path, file), folder_path)
+            # 删除子文件夹
+            shutil.rmtree(sub_folder_path)
+            print(f"已处理文件夹: {folder_path}")
+        elif not sub_folders:  # 如果子文件夹中没有文件夹
+            print(f"文件夹 {folder_path} 中没有文件夹,已跳过")
+        else:
+            print(f"文件夹 {folder_path} 中包含多个文件夹,未进行处理")

+ 7 - 0
png2ico.py

@@ -0,0 +1,7 @@
+from PIL import Image
+
+def convert_png_to_ico(png_path, ico_path):
+    image = Image.open(png_path)
+    image.save(ico_path, format='ICO', sizes=[(16, 16), (32, 32), (48, 48), (64, 64)])
+
+convert_png_to_ico('icon.png', 'icon.ico')