Script .bat pour renommer des fichiers

Résolu/Fermé
DelNC Messages postés 2234 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 14439 Date d'inscription lundi 2 mars 2009 Statut Contributeur Dernière intervention 14 avril 2024 - 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 14439 Date d'inscription lundi 2 mars 2009 Statut Contributeur Dernière intervention 14 avril 2024 4 905
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



2