用Python批次改資料夾名稱

用Python批次改資料夾名稱

這個慘案發生在某個深夜,在整理相簿的時候發現檔案名稱日期的部分沒有統一,覺得一個一個改很累,於是就找了windows 的 powerShell 指令來用

結果他的 dot . 不會正常的讀取...我的一堆資料夾的名稱就整個悲劇
一怒之下我就想說用 Python 自己寫一個!dir
|----2007.07.01
|----2007.7.2Dir | Rename-Item -NewName {$_.Name -replace '.7.','.07.'}
# 上面的資料夾們執行這段指令後變成下面的悲劇dir
|----20.07..07.01
|----20.07.7.2

路徑可以用絕對路經跟相對路徑import os
import time
import redef find_dir(path):
   for fd in os.listdir(path):
       full_path = os.path.join(path, fd)
       
       if os.path.isdir(full_path):
           print('資料夾:', full_path)def batch_rename(path):    
   for fname in os.listdir(path):
       full_path=os.path.join(path, fname)if os.path.isdir(full_path):
           print('資料夾:',full_path)name_arr = fname.split('-')
           date1 = re.search(r'(\d{4})[./-](\d{1,2})[./-](\d{1,2})', fname)if (date1 != None):
               time_obj = time.strptime(date1.group(0).replace('.', '-'), "%Y-%m-%d")
               new_name_date = time.strftime("%Y-%m-%d", time_obj)
               new_fname = new_name_date + '_' + name_arr[1]
               print('Rename資料夾:', fname, new_fname)
               os.rename(os.path.join(path, fname),            os.path.join(path, new_fname))

參考資料

非常感謝寫這篇的大大
https://ithelp.ithome.com.tw/articles/10229795