Récuperer en variable une partie du nom de fichier avec un Batch sous Windows 7 ?
Répondre à la discussion
Affichage des résultats 1 à 8 sur 8

Récuperer en variable une partie du nom de fichier avec un Batch sous Windows 7 ?



  1. #1
    JC-Macintosh

    Récuperer en variable une partie du nom de fichier avec un Batch sous Windows 7 ?


    ------

    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-602193####-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-6021935####-20121015.PDF
    deviendrait:
    20121015-EXTRAIT-602193####-20121015.PDF
    ou mieux encore:
    EXTRAIT-20121015-602193####-20121015.PDF

    Je sais qu'en ligne de commande (Windows 7) il est possible de renommer un fichier avec une variable.

    Je sais déjà 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

    -----
    Dernière modification par JPL ; 18/05/2016 à 15h31.

  2. #2
    JPL
    Responsable des forums

    Re : Récuperer en variable une partie du nom de fichier avec un Batch sous Windows 7 ?

    Pour des raisons de confidentialité j'ai un peu masqué le n° de compte.
    Rien ne sert de penser, il faut réfléchir avant - Pierre Dac

  3. #3
    CM63

    Re : Récuperer en variable une partie du nom de fichier avec un Batch sous Windows 7 ?

    Bonjour,

    Python serait particulièrement bien adapté pour faire cela. Si tu n'es pas pressé, je regarde comment le faire en Python, mais ce soir.

  4. #4
    CM63

    Re : Récuperer en variable une partie du nom de fichier avec un Batch sous Windows 7 ?

    Citation Envoyé par JPL Voir le message
    Pour des raisons de confidentialité j'ai un peu masqué le n° de compte.
    Ah parce qu'il les avait mis en clair?

  5. A voir en vidéo sur Futura
  6. #5
    JC-Macintosh

    Re : Récuperer en variable une partie du nom de fichier avec un Batch sous Windows 7 ?

    C'était un exemple... suis pas fou !! et pas la banque non plus !!
    A+

  7. #6
    JPL
    Responsable des forums

    Re : Récuperer en variable une partie du nom de fichier avec un Batch sous Windows 7 ?

    Je suis rassuré, mais on voit sur le web tellement d'inconscience que le pire n'est jamais exclu
    Rien ne sert de penser, il faut réfléchir avant - Pierre Dac

  8. #7
    Bluedeep

    Re : Récuperer en variable une partie du nom de fichier avec un Batch sous Windows 7 ?

    Bonjour

    Citation Envoyé par JC-Macintosh Voir le message
    Si quelqu'un à une idée ?
    Merci d'avance
    JClaude
    Laisser tomber le .bat (qui est quand même très limité) et utiliser powershell.

  9. #8
    JC-Macintosh

    Re : Récuperer en variable une partie du nom de fichier avec un Batch sous Windows 7 ?

    Merci !
    Mon problème est résolu grâce à ericlm128

    Voici la solution pour ceux que cela interresse :
    @echo off
    for /r %%a IN (EXTRAIT-*.PDF) DO Call :TEST %%~na %%~xa
    goto :EOF

    :TEST
    set file=%1
    set NewFile=%file:~,7%%file:~-9%%file:~7,-9%%2
    ren %file%%2 %NewFile%
    goto :EOF
    A+

Discussions similaires

  1. Comment sauvegarder un fichier txt avec un 'nom de fichier' en variable input
    Par Lalao dans le forum Programmation et langages, Algorithmique
    Réponses: 3
    Dernier message: 23/10/2015, 19h10
  2. pb creation fichier batch avec espaces
    Par Martou1 dans le forum Programmation et langages, Algorithmique
    Réponses: 9
    Dernier message: 24/07/2014, 09h52
  3. Supprimer espaces dans un fichier txt avec un batch
    Par inviteccee45bb dans le forum Logiciel - Software - Open Source
    Réponses: 6
    Dernier message: 24/07/2010, 11h26
  4. Récupérer un fichier écrasé sous word 2003.
    Par Falindor dans le forum Logiciel - Software - Open Source
    Réponses: 7
    Dernier message: 29/03/2009, 12h25
  5. Récupérer un fichier effacé sous mac OSX
    Par invite5e97aadb dans le forum Logiciel - Software - Open Source
    Réponses: 6
    Dernier message: 21/06/2006, 14h01