Script .bat pour renommer des fichiers

Résolu
DelNC Messages postés 2234 Date d'inscription   Statut Membre Dernière intervention   -  
barnabe0057 Messages postés 14454 Date d'inscription   Statut Contributeur Dernière intervention   -
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 14454 Date d'inscription   Statut Contributeur Dernière intervention   4 925
 
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



2