script_helpers/
back_up_existing_file.rs

1use std::{fs::rename, path::Path};
2
3use chrono::Local;
4
5pub fn back_up_existing_file(file: &Path, extension: &str) {
6    if file.exists() {
7        let date = Local::now().format("%Y-%m-%d_%H-%M-%S");
8        let backup_file_name = format!("{}.bak.{}.{}", file.to_string_lossy(), date, extension);
9        println!("➡️ File already exists. Moving to: {}", backup_file_name);
10        rename(file, backup_file_name).expect("Could not back up existing target file.");
11    }
12}