batch_mov2mp4.py (2229B)
1 import os 2 3 from mov2mp4 import convert_mov_to_mp4_h265_nvenc 4 5 6 def run_batch_conversion(parent_dir, start_range, end_range): 7 """ 8 指定された範囲のフォルダ名を持つサブフォルダ内の動画をまとめて変換します。 9 """ 10 if not os.path.isdir(parent_dir): 11 print(f"エラー: 親フォルダ '{parent_dir}' が見つかりません。") 12 return 13 14 # フォルダ一覧を取得し、名前が範囲内(文字列比較)のものを抽出 15 all_items = os.listdir(parent_dir) 16 target_subdirs = [ 17 d 18 for d in all_items 19 if os.path.isdir(os.path.join(parent_dir, d)) and start_range <= d <= end_range 20 ] 21 22 target_subdirs.sort() 23 24 if not target_subdirs: 25 print( 26 f"範囲内 ({start_range} ~ {end_range}) に該当するフォルダが見つかりませんでした。" 27 ) 28 return 29 30 print(f"=== バッチ処理開始: {len(target_subdirs)} 個のフォルダをスキャンします ===") 31 print(f"対象範囲: {start_range} ~ {end_range}") 32 33 for i, subdir in enumerate(target_subdirs, 1): 34 target_path = os.path.join(parent_dir, subdir) 35 print(f"\n------------------------------------------------------------") 36 print(f" 📂 [{i}/{len(target_subdirs)}] 処理中: {subdir}") 37 print(f"------------------------------------------------------------") 38 39 # mov2mp4.py のメインロジックを実行 40 # OUTPUT_FOLDER=None にすることで各フォルダ内にmp4が作成されます 41 convert_mov_to_mp4_h265_nvenc(target_path, output_dir=None) 42 43 print("\n============================================================") 44 print(f"✨ すべてのバッチ処理が完了しました ({len(target_subdirs)} フォルダ)") 45 print("============================================================") 46 47 48 # --- 設定項目 --- 49 # 親フォルダのパス 50 PARENT_FOLDER = r"E:\Pictures\他人作品\ホロ\aliceholic13" 51 # 処理対象のフォルダ名の範囲 52 START_DIR = "1322528" 53 END_DIR = "3035118" 54 55 if __name__ == "__main__": 56 run_batch_conversion(PARENT_FOLDER, START_DIR, END_DIR)