const fs = require('fs');
const path = require('path');
const readline = require('readline');

const rl = readline.createInterface({
    input: process.stdin,
    output: process.stdout
});

// Fonction pour poser des questions dans la console
const question = (query) => new Promise((resolve) => rl.question(query, resolve));

async function main() {
    console.log("--- ASSISTANT DE RENOMMAGE DE FICHIERS ---\n");

    const dossier = await question("1. Entrez le chemin complet du dossier : ");
    if (!fs.existsSync(dossier) || !fs.lstatSync(dossier).isDirectory()) {
        console.log("❌ Erreur : Le dossier n'existe pas.");
        rl.close();
        return;
    }

    const ancienTexte = await question("2. Texte à remplacer dans le nom : ");
    const nouveauTexte = await question("3. Remplacer par (laisser vide pour supprimer) : ");

    try {
        const fichiers = fs.readdirSync(dossier);
        let compteur = 0;

        for (const fichier of fichiers) {
            const cheminAncien = path.join(dossier, fichier);

            // On ne renomme que les fichiers (pas les sous-dossiers)
            if (fs.lstatSync(cheminAncien).isFile() && fichier.includes(ancienTexte)) {
                const nouveauNom = fichier.split(ancienTexte).join(nouveauTexte);
                const cheminNouveau = path.join(dossier, nouveauNom);

                fs.renameSync(cheminAncien, cheminNouveau);
                compteur++;
            }
        }

        console.log(`\n✅ Succès ! ${compteur} fichier(s) ont été renommé(s).`);
    } catch (erreur) {
        console.error("\n❌ Une erreur est survenue :", erreur.message);
    }

    rl.close();
}

main();

Embed on website

To embed this project on your website, copy the following code and paste it into your website's HTML: