Rechercher : dans
Par :

Supprimer espaces, lettres dans nom fichier

Dernière réponse le 11 nov 2008 à 17:57:30 cocotehier, le 8 nov 2008 à 19:40:45 
 Signaler ce message aux modérateurs

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
Carpe Diem

Configuration: Windows XP
Internet Explorer 7.0

Meilleures réponses pour « Supprimer espaces, lettres dans nom fichier » dans :
Restaurer un fichier supprimé par erreur VoirComment restaurer un fichier ? Vous avez supprimé un fichier par erreur ? Rien n'est perdu. Il se trouve peut-être dans la Corbeille. Pour vérifier si le fichier peut être récupéré, ouvrez la corbeille (qui se trouve sur le Bureau). Faire un...
Renommer plusieurs fichiers en batch VoirLe fait de renommer un grand nombre de fichiers peut très vite devenir fastidieux. Heureusement, il existe des outils permettant d'automatiser cette tâche dans un grand nombre de cas : Fonctionnalités natives Utilisation d'un programme...
Fichier utilisé - Le fichier est ouvert dans un autre programme VoirLorsque vous souhaitez supprimer ou déplacer un fichier, Windows se plaint avec le message suivant : Fichier utilisé Cette action ne peut pas être réalisée car le fichier est ouvert dans un autre programme Fermez l'application concernée Avant...
PHP - Les fichiers VoirLa gestion des fichiers avec PHP Avec PHP, la création ou la lecture de fichiers est, une fois de plus, assez simple. Il existe une multitude de fonctions dédiées à l'utilisation des fichiers. La communication entre le script PHP et le fichier...
Les espaces de nom XML VoirIntroduction aux espaces de noms XML définit un système permettant de créer des balises modulaires, c'est-à-dire pouvoir donner la possibilité d'utiliser des balises provenant de différents langages à balise au sein d'un même document grâce à la...

1

cocotehier, le 8 nov 2008 à 21:59:38

Up ? Carpe Diem

Répondre à cocotehier

2

cchristian, le 8 nov 2008 à 22:34:26

Bonsoir,

Peux-tu donner un exemple concret de ce que tu veux obtenir exactement ? Cordialement.

Cchristian.

Répondre à cchristian

3

cocotehier, le 8 nov 2008 à 23:04:55

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 Carpe Diem

Répondre à cocotehier

4

cchristian, le 9 nov 2008 à 02:49:16

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
Cordialement.

Cchristian.

Répondre à cchristian

5

cocotehier, le 9 nov 2008 à 10:43:41

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 ! Carpe Diem

Répondre à cocotehier

6

cchristian, le 9 nov 2008 à 15:15:20

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
Cordialement.

Cchristian.

Répondre à cchristian

8

cocotehier, le 10 nov 2008 à 23:32:24

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"
Carpe Diem

Répondre à cocotehier

9

cchristian, le 11 nov 2008 à 00:31:56

Bonsoir,

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

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

Cordialement.

Cchristian.

Répondre à cchristian

10

cocotehier, le 11 nov 2008 à 17:38:50

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. Carpe Diem

Répondre à cocotehier

11

 cchristian, le 11 nov 2008 à 17:57:30

Bonsoir,

OK, merci, bonne continuation. Si tu as besoin n'hésite pas. Cordialement.

Cchristian.

Répondre à cchristian

7

cocotehier, le 9 nov 2008 à 18:42:49

Merci Monsieur, Carpe Diem

Répondre à cocotehier