Création .bat

Résolu
Man478 Messages postés 7 Statut Membre -  
barnabe0057 Messages postés 14329 Date d'inscription   Statut Contributeur Dernière intervention   -
Bonjour, je suis très novice je cherche quoi écrire pour créer un .bat pour faire ceci:
J’ai 17k fichiers PDF que je dois renommer et je veux pas faire cela un à la fois. Le noms des PDF actuellement est un séquencé de 6 chiffre variable que je dois conserver. Je veux ajouter un préfixe et un suffixe qui sera toujours le même.
Nom du Fichier PDF actuel : 123456
Nom rechercher au final : O19-123456-99
Ou se trouve mes fichier à renommer: Documents\Test

J’ai beau chercher je trouve pas tout ce que j’ai de besoin.

Merci à l’avance de votre aide je vais sauver énormément de temps, bien hâte de lire vos réponse.

4 réponses

  1. barnabe0057 Messages postés 14329 Date d'inscription   Statut Contributeur Dernière intervention   4 930
     
    Bonjour,

    Tu peux essayer ça :

    @echo off
    color 0A
    ver | find "10.0." >nul && chcp 65001 >nul || chcp 28591 >nul
    setlocal enableextensions disabledelayedexpansion

    cd %USERPROFILE%\Documents\Test

    for %%A in (*.pdf) do (
    echo %%~nA | findstr /r "\<[0-9][0-9][0-9][0-9][0-9][0-9]\>" >nul && ren "%%~fA" "O19-%%~nA-99%%~xA"
    )

    pause
    exit


    Je n'ai pas testé mais ça devrait le faire.

    Si le script est trop lent à cause du grand nombre de fichiers, j'ai un autre script à proposer, plutôt une légère variation.

    0
    1. Man478 Messages postés 7 Statut Membre
       
      Je teste et je te reviens
      0
  2. Man478 Messages postés 7 Statut Membre
     
    Bonjour banabe0057 me re voilà regarde le message que j’ai c’est quoi le problème.
    ?

    La syntaxe du nom de fichier, de répertoire ou de volume est incorrecte.

    voici la ligne que j’ai: cd %USERPROFIL%\X:\SECUR3\ML\Test renommage

    Tout le reste j’ai copier\ coller la formalité que tu m’as envoyer.
    0
    1. barnabe0057 Messages postés 14329 Date d'inscription   Statut Contributeur Dernière intervention   4 930
       
      Salut, je vois plusieurs problèmes liés entre eux :

      1) tu as mal orthographié la variable %USERPROFILE%

      2) le chemin que tu indiques ne peut pas exister car un nom de dossier ne peut pas contenir le symbole :

      3) le X: me fait penser à une lettre de lecteur, est-ce qu'il s'agit d'une clé usb ou bien d'un lecteur réseau ?

      Essaie comme ça :

      @echo off
      color 0A
      ver | find "10.0." >nul && chcp 65001 >nul || chcp 28591 >nul
      setlocal enableextensions disabledelayedexpansion
      
      cd /d X:\SECUR3\ML\Test renommage
      
      for %%A in (*.pdf) do (
       echo %%~nA | findstr /r "\<[0-9][0-9][0-9][0-9][0-9][0-9]\>" >nul && ren "%%~fA" "O19-%%~nA-99%%~xA"
      )
      
      pause
      exit
      0
  3. Man478 Messages postés 7 Statut Membre
     
    Wow de WoW ! Un énorme merci cela est inimaginable le temps je je vais sauver. Un gros gros merci.
    0
  4. man478
     
    Bonjour, j’ai encore besoin de votre aide. Je cherche la formule pour un .bat. Je veux enlever une partie de nomenclature de mes ficher FDP. Voici ce que j’ai 001-S62-123456-99. C’est le 001 qui est un chiffre variable mais qui a toujours 4 position que je veux enlever pour avoir en final S62-123456-99. Toute la séquence à partir du S62-123456-99 doit être conservé. Merci à l’avance de votre aide
    0
    1. barnabe0057 Messages postés 14329 Date d'inscription   Statut Contributeur Dernière intervention   4 930
       
      Bonjour,

      Une boucle FOR fera l'affaire :

      for /f "tokens=1* delims=-" %%A in ('2^>nul dir /b /a-d *.pdf') do ren "%%A-%%B" "%%B"


      A tester !
      0
      1. Man478 Messages postés 7 Statut Membre > barnabe0057 Messages postés 14329 Date d'inscription   Statut Contributeur Dernière intervention  
         
        Bonjour barnabe0057, j’ai un message qui dit le fichier spécifié est introuvable. Pourtant j’ai utilisé le même dossier pour mon autre bat. Mon PDF a le nom 001-O19-123456-99. Le 001 augmente 002, 003 etc. Le O19, change d’un fichier à l’autre il pourrait être S47, O93, mais il est toujours composé d’une lettre suivie de deux chiffre.Le 123456, est un numéro qui change mais qui a toujours 6 chiffres.

        Merci encore de ton aide.

        J’ai mis:
        @echo off

        CD /d X:\SECUR3\ML\Test renommage

        Ici j’ai ta formule ci-haut

        Pause
        Exit
        0
      2. barnabe0057 Messages postés 14329 Date d'inscription   Statut Contributeur Dernière intervention   4 930 > Man478 Messages postés 7 Statut Membre
         
        @echo off
        color 0A
        ver | find "10.0." >nul && chcp 65001 >nul || chcp 28591 >nul
        setlocal enableextensions disabledelayedexpansion
        
        cd /d X:\SECUR3\ML\Test renommage
        
        for /f "tokens=1* delims=-" %%A in ('2^>nul dir /b /a-d *.pdf') do echo %%A-%%B
        
        pause
        exit


        Est-ce que ce code affiche bien la liste des fichiers .pdf ?
        0
      3. Man478 Messages postés 7 Statut Membre > barnabe0057 Messages postés 14329 Date d'inscription   Statut Contributeur Dernière intervention  
         
        Merci de m’aider encore. Quand je double clic le code.exe affiche mes fichier mais quand je fau enter pour continuer le 001,002 ne s’efface pas.
        0
      4. barnabe0057 Messages postés 14329 Date d'inscription   Statut Contributeur Dernière intervention   4 930 > Man478 Messages postés 7 Statut Membre
         
        Oui c'est normal c'est juste un test pour essayer de trouver ce qui ne va pas.
        0