Script .bat pour renommer des fichiers

Résolu/Fermé
DelNC
Messages postés
2231
Date d'inscription
samedi 25 octobre 2014
Statut
Membre
Dernière intervention
22 février 2020
- Modifié le 22 juin 2018 à 11:33
barnabe0057
Messages postés
13956
Date d'inscription
lundi 2 mars 2009
Statut
Contributeur
Dernière intervention
10 août 2022
- 23 juin 2018 à 06:30
Bonjour à tous

Je cherche depuis deux jours comment renommer des fichiers.
Ils sont nommés comme ceci
nom fichier - nom auteur.txt

Pour l'instant j'arrive à retirer les espaces et les remplacer par un _
Remplacer les é, è, ê par des e
Remplacer les à et â par des a
...

Je n'arrive pas à effacer la partie qui se situe à partir du -
J'ai essayé avec un token mais je n'y arrive pas (je epnse que c'est une solution possible)

NB je sais utiliser le token pour le contenu d'un fichier.


Voilà mon code actuel
@echo off
setlocal enabledelayedexpansion
 
chcp 1252
for /r "C:\Users\mougi\Desktop\documents" %%a in (*.txt) do (
  set "path=%%~nxa"
  set "path=!path:  =_!"
  set "path=!path:é=e!"
  move /y "%%~a" "%%~dpa!path!"
)
pause



Je vous remercie d'avance pour l'aide que vous m'apporterez

3 réponses

barnabe0057
Messages postés
13956
Date d'inscription
lundi 2 mars 2009
Statut
Contributeur
Dernière intervention
10 août 2022
4 811
Modifié le 22 juin 2018 à 20:52
Bonsoir,

Essaie comme ça :

@echo off
setlocal enableextensions enabledelayedexpansion
chcp 1252 >nul

cd /d "C:\Users\mougi\Desktop\documents" || exit /b 1

for /f "tokens=1,* delims=-" %%A in ('dir /b /a-d "*.txt"') do (
set "name=%%~A"
set "name=!name: =_!"
set "name=!name:é=e!"
ren "%%~A-%%~B" "!name!.txt"
)
pause




“L'intelligence artificielle se définit comme le contraire de la bêtise naturelle.”
2