Renommer des fichiers en dos
fjoyal
-
Pierrot6150 Messages postés 3186 Statut Membre -
Pierrot6150 Messages postés 3186 Statut Membre -
Bonjour,
J'ai plusieurs fichiers (une centaine) dans un répertoire. Ces fichiers se nomment P7230_654000_234000.txt, P7230_655000_234000.txt, etc...
Comment renommer en dos ces fichiers pour enlever les zéros et obtenir P7230_654_234.txt et P7230_655_234.txt?
Merci
Francois
J'ai plusieurs fichiers (une centaine) dans un répertoire. Ces fichiers se nomment P7230_654000_234000.txt, P7230_655000_234000.txt, etc...
Comment renommer en dos ces fichiers pour enlever les zéros et obtenir P7230_654_234.txt et P7230_655_234.txt?
Merci
Francois
4 réponses
-
salut,
avec la commande ren.
C:\Users\pc>help ren
Renomme un ou plusieurs fichiers.
RENAME [lecteur:][chemin]nom_de_fichier1 nom_de_fichier2.
REN [lecteur:][chemin]nom_de_fichier1 nom_de_fichier2.
Vous ne pouvez pas spécifier un nouveau lecteur pour votre destination.
-
Voir le programme gratuit "RENOMMER".
-
Oui merci je connais bien ren mais comment le faire en batch. N'oublions pas que j'ai des centaines de fichiers. Je ne comprends pas parfaitement la fonction FOR %%
-
Si comme tu dis, c'est toujours sous la même forme
P7230_123000_123000.txt
Ne garder que P7230_654 et 234 et reconstruire le nouveau nom P7230_654_234.txt
Enregsitrer dans un batch
Une fois la liste terminer, exécuter le batch pour renommer.
Si c'est bien cela ?
Ouvrir le bloc-botes de Windows
Enregistrer ce programme (avec extension .BAT)
Sauvegarder dans le dossier que tu veux renommer
Exécuter ce dernier.
@echo off
setlocal EnableDelayedExpansion
set _Path=%CD%
rem Création du fichier contenant les nouveau nom
echo. ^@ECHO OFF >"%_Path%\Renommer_Fichiers.bat"
rem Lire les noms
cls
echo. Listing, en cours...
FOR /R "%_Path%" %%I IN (*.txt) DO set _Fichier=%%~nI && call :_Manipuler
echo. Terminer.
echo.
echo. ^EXIT >>"%_Path%\Renommer_Fichiers.bat"
rem Exécuter le batch contenant les nouveau nom
echo. Renommer les fichiers, en cours...
start /B /Wait cmd.exe /K "%_Path%\Renommer_Fichiers.bat"
echo. Terminer.
Rem Fin du programme
echo.
echo. Fermeture en cours...
ping 127.0.0.1 -n 6 >nul
del "%_Path%\Renommer_Fichiers.bat" >nul
exit
:_Manipuler
set _Debut=%_Fichier:~0,9%
set _Fin=%_Fichier:~13,3%
set _Ancien=%_Fichier:~0,-1%
set _Nouveau=%_Debut:~0,-1%_%_Fin:~0,-1%
rem Enregistrer nouveau noms
echo. ^IF ^NOT ^EXIST "%_Path%\%_Nouveau%.txt" ^RENAME "%_Path%\%_Ancien%.txt" "%_Nouveau%.txt" >>"%_Path%\Renommer_Fichiers.bat"
goto :EOF