Renommer des .PDF [Résolu]

Signaler
Messages postés
24
Date d'inscription
dimanche 23 juillet 2006
Statut
Membre
Dernière intervention
22 septembre 2020
-
Messages postés
24
Date d'inscription
dimanche 23 juillet 2006
Statut
Membre
Dernière intervention
22 septembre 2020
-
Bonjour,

J'ai un dossier dans lequel je mets des fichiers .PDF (factures) qui ont des noms générés automatiquement par un logiciel de comptabilité.

Le format en sortie est le suivant :

Factureyyyyxxxxx_de_ZZZZZ.pdf

Avec : yyyy : Année
xxxxx : numéro de facture
ZZZZZ : nom d'entreprise

J'aimerais avec un batch ou autre procédé rapide qu'à chaque fois que je place ce pdf dans le dossier Facturation, qu'il ait le format suivant :

Facyyyy-ZZZZZ.pdf

Pour résumer :

Factureyyyyxxxxx_de_ZZZZZ.pdf => Facyyyy-ZZZZZ.pdf

Quelqu'un a une idée s'il vous plaît ?

Merci par avance !

3 réponses

Messages postés
12720
Date d'inscription
lundi 2 mars 2009
Statut
Contributeur
Dernière intervention
11 octobre 2020
3 660
Bonjour,

Ca devrait donner un truc de ce genre :

@echo off
setlocal enabledelayedexpansion

for /f "tokens=1,3 delims=_" %%A in ('2^>nul dir /b Facture*.pdf') do (

set annee=%%A
set annee=!annee:~7,4!

ren "%%~fA" "Fac!annee!-%%B.pdf"

)

pause
exit



ps : le script doit être placé dans le dossier à traiter.
Messages postés
24
Date d'inscription
dimanche 23 juillet 2006
Statut
Membre
Dernière intervention
22 septembre 2020
2
Bonjour et merci pour ta réponse,

J'ai créé le .batch avec les lignes de commande que tu m'as transmises et lorsque je lance ce dernier, l'invite de commandes me spécifie que le fichier est introuvable. Exécuté en tant qu'administrateur, ce message n'apparaît plus dans l'invite de commandes, mais rien ne se passe lorsque j'appuie sur entrée pour valider.

J'essaie de voir d'où cela vient mais je ne trouve pas pour le moment, si tu as une idée.

Merci par avance !

PS : Exemple de ma dernière facture : Facture202014881_de_XXXXX (XXXX nom de l'entreprise, 5 caractères, en majuscules).

Et je souhaite avoir : Fac2020-14881.pdf !

Si ca peut aider ... :)
Messages postés
12720
Date d'inscription
lundi 2 mars 2009
Statut
Contributeur
Dernière intervention
11 octobre 2020
3 660
Tu as changé ta demande, avant tu voulais la dernière partie XXXXXX et plus maintenant.

Effectivement j'ai été trop vite et j'ai fait une petite erreur dans la commande REN :

@echo off
setlocal enabledelayedexpansion

for /f "tokens=1,2,* delims=_" %%A in ('2^>nul dir /b Facture*.pdf') do (

set /a annee=numero=%%A
set annee=!annee:~7,4!

ren "%%~A_%%~B_%%~C" "Fac!annee!-!numero:~11,5!.pdf"

)

pause
exit
Messages postés
24
Date d'inscription
dimanche 23 juillet 2006
Statut
Membre
Dernière intervention
22 septembre 2020
2
Bonjour et merci à toi !

Effectivement j'ai commis une erreur dans ma demande, je m'en excuse !

J'ai bien exécuté le batch et le fichier de sortie est :

Fac-.pdf

Entrée : Facture202014881_de_XXXXX.pdf
Sortie : Fac2020-14881.pdf

J'essaye de voir où une petite erreur se serait glissé dans ta commande mais je t'avoue que je ne vois pas !
Est-ce que tu as bien mis le setlocal enabledelayedexpansion au début du script ?
Je vais tester tout ça ce soir après le boulot, je te tiens au courant
Messages postés
24
Date d'inscription
dimanche 23 juillet 2006
Statut
Membre
Dernière intervention
22 septembre 2020
2 > barnabe0057
Oui oui, j'ai fait un copier/coller :)

D'accord c'est gentil, je te remercie !
Messages postés
12720
Date d'inscription
lundi 2 mars 2009
Statut
Contributeur
Dernière intervention
11 octobre 2020
3 660 >
Messages postés
24
Date d'inscription
dimanche 23 juillet 2006
Statut
Membre
Dernière intervention
22 septembre 2020

Testé et approuvé :
@echo off
setlocal enabledelayedexpansion

for /f "tokens=1,2,* delims=_" %%A in ('2^>nul dir /b Facture*.pdf') do (

set annee=%%A
ren "%%~A_%%~B_%%~C" "Fac!annee:~7,4!-!annee:~11,5!.pdf"

)

pause
exit
Messages postés
24
Date d'inscription
dimanche 23 juillet 2006
Statut
Membre
Dernière intervention
22 septembre 2020
2 >
Messages postés
12720
Date d'inscription
lundi 2 mars 2009
Statut
Contributeur
Dernière intervention
11 octobre 2020

Bonjour Barnabe0057,

Super cela fonctionne parfaitement, merci beaucoup pour ta patience et ton aide !

Bonne journée à toi !