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 14377 Date d'inscription lundi 2 mars 2009 Statut Contributeur Dernière intervention 22 novembre 2023 - 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 14377 Date d'inscription lundi 2 mars 2009 Statut Contributeur Dernière intervention 22 novembre 2023 4 898
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