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}