20180926のような日付のフォルダーに対する、コピー操作を毎週毎週やっていませんか?
面倒なのでスクリプトを使って楽をしましょう。
copy_latest_folder.py
import os
import shutil
import re
# コピー元のフォルダが含まれるパス
src_path = '/Users/butada/daily_meeting'
# コピー先のファイルパス(このフォルダは存在しないこと)
dst_path = '/Users/public/html/latest'
def get_latest_folder_name(path):
# ファイル・フォルダ一覧を取得
folders = os.listdir(path)
sorted_folders = sorted(folders, reverse=True)
print('ディレクトリ: ', path)
print('ディレクトリ一覧: ', sorted_folders)
# フォルダ一覧から最新の日付文字列のフォルダを選択する
latest_folder = ''
for folder in sorted_folders:
if re.findall(r'^[0-9]', folder):
latest_folder = folder
break
else:
print(folder)
if latest_folder == '':
print('[ERROR] コピー対象のフォルダが見つかりませんでした')
#exit()
raise
return latest_folder
src_folder = get_latest_folder_name(src_path)
# dst_folder = get_latest_folder_name(dst_path) # コピー先も最新の日付文字列フォルダにする場合
dst_folder = '' # 特定のフォルダにコピーする場合
src_full_path = '/'.join([src_path, src_folder])
dst_full_path = '/'.join([dst_path, dst_folder]) # コピー先にコピー元のフォルダ名を残さない場合
# dst_full_path = '/'.join([dst_path, dst_folder, src_folder]) # コピー先にコピー元のフォルダ名を残す場合
print('既存のフォルダを削除します: ', dst_full_path)
try:
shutil.rmtree(dst_full_path)
except:
print('--フォルダが存在しませんでした')
print('フォルダツリーをコピーします: ')
print('コピー元: ', src_full_path)
print('コピー先: ', dst_full_path)
shutil.copytree(src_full_path, dst_full_path)
print('完了')