Récupérer une partie du nom de fichier en variable ?
Récupérer une partie du nom de fichier en variable ? - Shell/Batch - Programmation
MarshPosté le 18-05-2016 à 15:03:48
Bonjour, Je cherche le moyen de renommer un grand nombre de fichiers PDF (extraits de comptes bancaires) en réutilisant une partie du nom qu'ils possèdent déjà. En effet c'est fichiers PDF sont composés comme ceci : EXTRAIT-60219354812-20121015.PDF soit ( EXTRAIT-NUMEROCOMPTE-DATEEXTRAIT.PDF ) Comme la Date de l'extrait est à la fin du nom de fichier, impossible de trier par date d'extrait. Je voudrais copier les 8 derniers caractères (année, mois, jour) pour les mettre en premier, exemple EXTRAIT-60219354812-20121015.PDF devient 20121015-EXTRAIT-60219354812-20121015.PDF ou Mieux encore EXTRAIT-20121015-60219354812-20121015.PDF Je sais qu'en ligne de commande (Windows 7) il est possible de renommer un fichier avec une variable. Je sais faire ça : --- set ladate=%date:~6,4%%date:~3,2%%date:~0,2% REM récupère la date du jour ren *.PDF %ladate%-*.PDF REM renomme les PDF avec date du jour en premier ---- Mais je sais pas récupérer les 8 derniers caractères du nom dans ma variable %ladate%. Et bizarrement mon batch m'efface les 9 premiers caractères du nom d'origine ???
Marsh Posté le 18-05-2016 à 15:03:48
Bonjour,
Je cherche le moyen de renommer un grand nombre de fichiers PDF (extraits de comptes bancaires) en réutilisant une partie du nom qu'ils possèdent déjà.
En effet c'est fichiers PDF sont composés comme ceci :
EXTRAIT-60219354812-20121015.PDF soit ( EXTRAIT-NUMEROCOMPTE-DATEEXTRAIT.PDF )
Comme la Date de l'extrait est à la fin du nom de fichier, impossible de trier par date d'extrait.
Je voudrais copier les 8 derniers caractères (année, mois, jour) pour les mettre en premier, exemple EXTRAIT-60219354812-20121015.PDF
devient
20121015-EXTRAIT-60219354812-20121015.PDF
ou Mieux encore
EXTRAIT-20121015-60219354812-20121015.PDF
Je sais qu'en ligne de commande (Windows 7) il est possible de renommer un fichier avec une variable.
Je sais faire ça :
---
set ladate=%date:~6,4%%date:~3,2%%date:~0,2% REM récupère la date du jour
ren *.PDF %ladate%-*.PDF REM renomme les PDF avec date du jour en premier
----
Mais je sais pas récupérer les 8 derniers caractères du nom dans ma variable %ladate%.
Et bizarrement mon batch m'efface les 9 premiers caractères du nom d'origine ???
Si quelqu'un à une idée ?
Merci d'avance
JClaude