Supprimer espaces, lettres dans nom fichier

Résolu/Fermé
Utilisateur anonyme - 8 nov. 2008 à 19:40
cchristian Messages postés 921 Date d'inscription lundi 21 janvier 2008 Statut Membre Dernière intervention 6 mars 2012 - 11 nov. 2008 à 17:57
Bonjour,
Je recois des centaines de fichiers de visuels et les archives dans un répertoire, je voudrais corriger d'un coup tous les fichiers en faisant disparaitre les espaces, les lettres pour ne garder que des chiffres.
Auriez-vous un morceau de code VBA, un exemple DOS ?
Merci

6 réponses

Utilisateur anonyme
8 nov. 2008 à 21:59
Up ?
0
cchristian Messages postés 921 Date d'inscription lundi 21 janvier 2008 Statut Membre Dernière intervention 6 mars 2012 131
8 nov. 2008 à 22:34
Bonsoir,

Peux-tu donner un exemple concret de ce que tu veux obtenir exactement ?
0
Utilisateur anonyme
8 nov. 2008 à 23:04
Bonsoir, oui bien sur
Je recois des fichiers .jpg qui devrait porter un nom comme par exemple xxxxxxxxxxxxx.jpg ou chaque x est un chiffre , en général il y 13 chiffres, et c'est ce que je veux obtenir in fine
et je recois souvent des fichiers dont le nom est xxx xxx xxx xxx x.jpg ou encore xxxxxxxxxxxxxversion2.jpg
Tout les fichiers sont dans un répertoire je cherche la moulinette qui enlévera les espaces, les lettres pour ne laisser que xxxxxxxxxxxxx.jpg
Merci
0
cchristian Messages postés 921 Date d'inscription lundi 21 janvier 2008 Statut Membre Dernière intervention 6 mars 2012 131
9 nov. 2008 à 02:49
Bon jour soir,

Je viens de terminer ce petit boulot, j'en ai un peu bavé, mais ça semble coller. Fais, bien entndu, des tests de ton côté et tiens moi informé si possible.
A la relecture de ton texte une petite chose m'inquiète dans l'exemple que tu m'as donné c'est :
xxxxxxxxxxxxxversion2.jpg le 2 de version2 va être conservé est-ce souhaitable? Si non je ne vois pas très bien quoi faire.

    ECHO OFF

SETLOCAL ENABLEdelayedExpansion
SETLOCAL ENABLEextensions
        CLS
        CD C:\Documents and Settings\Christian\Mes documents\BATCH_files

    SET "param_1=C:\Documents and Settings\Christian\Mes documents\a1"
    SET "param_2=jpg"
rem    SET "param_2=*"

    FOR             /R    "%param_1%"       %%F  IN  (*.%param_2%)        DO (
      SET                 "nom_fich=%%~nxF"
      SET                 "save_ext=%%~xF"
      SET                 "new_name="
      FOR           /L    %%I                   IN  (0,1,32)         DO  (
        FOR         /L    %%J                   IN  (0,1,9)        DO  (
           IF      "!nom_fich:~%%I,1!"  ==    "%%J"              (
              SET         "new_name=!new_name!!nom_fich:~%%I,1!" )     )  )
           IF NOT  "!new_name!"         == ""             (
              SET         "new_name=!new_name!!save_ext!"
              REN "%%F" !new_name!
              ECHO renommer ici !nom_fich! en !new_name!   )                 )

        GOTO                                            :EOF
0
Utilisateur anonyme
9 nov. 2008 à 10:43
Bonjour,
Trés sympa, je test Lundi, et te tiens au courant.
Pour le 2 de version 2 effectivement...mais s'il ne reste que cela je gérerai
Merci beaucoup
Bon Week !
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cchristian Messages postés 921 Date d'inscription lundi 21 janvier 2008 Statut Membre Dernière intervention 6 mars 2012 131
9 nov. 2008 à 15:15
Bonjour,

Une petite modif qui a malgré tout son importance car elle évite un RENAME systématique des fichiers, ce qui n'était pas très élégant.

        ECHO OFF
SETLOCAL ENABLEdelayedExpansion
SETLOCAL ENABLEextensions
        CLS
        CD C:\Documents and Settings\Christian\Mes documents\BATCH_files

rem Le chemin/dossier sous lequel se trouvent les fichiers à traiter.
    SET "param_1=C:\Documents and Settings\Christian\Mes documents\a1"
    SET "param_2=jpg"
rem    SET "param_2=*"

    FOR             /R    "%param_1%"       %%F  IN  (*.%param_2%)        DO (
      SET                 "nom_fich=%%~nxF"
      SET                 "save_ext=%%~xF"
rem Ajout de la variable save_nom (nom du fichier avant modif éventuelle)
      SET                 "save_nom=%%~nF"
      SET                 "new_name="
      FOR           /L    %%I                   IN  (0,1,32)         DO  (
        FOR         /L    %%J                   IN  (0,1,9)        DO  (
           IF      "!nom_fich:~%%I,1!"  ==    "%%J"              (
              SET         "new_name=!new_name!!nom_fich:~%%I,1!" )     )  )
        IF NOT     "!new_name!"         == ""              (
rem        Ajout de ce test afin d'éviter un REName systématique.
           IF NOT  "!new_name!"         == "!save_nom!"  (
              SET         "new_name=!new_name!!save_ext!"
              REN         "%%F"     !new_name!
              ECHO renommer ici !nom_fich! en !new_name! )  )               )
                                                                              
    GOTO                                            :EOF
0
Utilisateur anonyme
10 nov. 2008 à 23:32
Christian,
Rô le boulet que je suis, j'ai voulu tester en copiant ceci dans un.cmd mais je n'y suis parvenu, du coup, j'ai mis un grand coup de "Ant R....r"
0
cchristian Messages postés 921 Date d'inscription lundi 21 janvier 2008 Statut Membre Dernière intervention 6 mars 2012 131 > Utilisateur anonyme
11 nov. 2008 à 00:31
Bonsoir,

j'ai mis un grand coup de "Ant R....r"

Explique moi mieux, je ne comprends pas. C'est quoi la cata ?

0
Utilisateur anonyme > cchristian Messages postés 921 Date d'inscription lundi 21 janvier 2008 Statut Membre Dernière intervention 6 mars 2012
11 nov. 2008 à 17:38
Bonsoir,
C'est moi la cata : dans mon répertoire (2163 images) tous les cas se produisent ; version2 ; -1 ; /1 ; B ; chaine de caractéres....
Le grand coup de c'est que j'ai utilisé Ant Renamer !
C'est un petit logiciel qui permet entre autre de supprimer les espaces, les chaines de caractères...
Il y a en fait un petit détails, dés que l'on supprime les espaces ou les lettres d'un nom de fichier pour le renommer, ce nouveau nom ne peut pas être un nom existant déjà dans le répertoire, et cela impose....de faire des suppressions..
Merci encore une fois.
0
cchristian Messages postés 921 Date d'inscription lundi 21 janvier 2008 Statut Membre Dernière intervention 6 mars 2012 131 > Utilisateur anonyme
11 nov. 2008 à 17:57
Bonsoir,

OK, merci, bonne continuation. Si tu as besoin n'hésite pas.
0
Utilisateur anonyme
9 nov. 2008 à 18:42
Merci Monsieur,
0