from pathlib import Path
import re
folder = Path("downloads")
for p in folder.glob("Report_*.xlsx"):
new_name = re.sub(r"Report_(\d{4})(\d{2})(\d{2})",
r"report-\1-\2-\3",
p.stem) + p.suffix
print(f"{p.name} → {new_name}")
# p.rename(p.with_name(new_name)) # uncomment when ready
p.rename() after you've eyeballed the output.
from datetime import datetime
for p in folder.glob("*.csv"):
mtime = datetime.fromtimestamp(p.stat().st_mtime)
target = folder / mtime.strftime("%Y-%m")
target.mkdir(exist_ok=True)
p.rename(target / p.name)
Sketch a script (don't enable rename yet) that moves every .pdf in your Downloads folder into Downloads/PDFs/ and every .xlsx into Downloads/Spreadsheets/.