Untitled
unknown
plain_text
9 months ago
1.3 kB
15
Indexable
import os
import shutil
from datetime import datetime
def move_files_by_creation_year(source_dir, target_base_dir):
# Walk through all directories and files in the source directory
for root, dirs, files in os.walk(source_dir):
for file_name in files:
try:
# Get full path of the file
file_path = os.path.join(root, file_name)
# Get the creation time of the file
creation_time = datetime.fromtimestamp(os.path.getctime(file_path))
year = str(creation_time.year)
# Create the target directory if it doesn't exist
target_dir = os.path.join(target_base_dir, year)
os.makedirs(target_dir, exist_ok=True)
# Move the file to the target directory
shutil.move(file_path, os.path.join(target_dir, file_name))
print(f"Moved '{file_name}' to '{target_dir}'")
except Exception as e:
print(f"Error processing {file_path}: {e}")
if __name__ == "__main__":
source_directory = input("Enter the path of the source directory: ")
target_base_directory = input("Enter the base path for the target directories: ")
move_files_by_creation_year(source_directory, target_base_directory)
Editor is loading...
Leave a Comment