Renommer répertoires sous dos.

bud35000 Messages postés 155 Statut Membre -  
 Gordon -
Bonjour,
j'aimerais renommer toute une série de répertoire en changeant l'extension.
J'ai créé pour ça un batch.
Mon problème c'est qu'avec ce batch j'arrive à ajouter une extension mais pas remplacer celle existante.

Voici mon script :
celui-ci rajoute l'extension que je souhaite avoir :

rem for /F %%i in ('dir/B') DO RENAME %%i %%i.txt

mais pour enlever l'extension qui existait auparavant, j'ai tenté le script suivant mais ça ne fonctionne pas :

FOR /F %%i in ('dir/B') DO (ECHO %%i) | FOR /F "tokens=1 delims=." %%j in ('findstr "\<.doc"') DO RENAME %%i %%j.txt

d'autre part, je me suis inspiré de script trouvé sur le net mais je ne vois pas à quoi servent "tokens" et "delims"...

Pourrait-on m'aider?
Configuration: Windows 2000
Internet Explorer 6.0

6 réponses

  1. Darkito Messages postés 1191 Date d'inscription   Statut Membre Dernière intervention   545
     
    Bonjour,
    c'est pour changer des .doc en .txt ?

    il me semble que :
    rename .doc .txt *.doc 
    doit fonctionner (enfin ca fonctionne sous linux...)
    --
    Tøƒ
    1
  2. bud35000 Messages postés 155 Statut Membre 103
     
    ah il va falloir que je change d'os alors. Sous dos ça ne fonctionne pas.
    1
    1. Darkito Messages postés 1191 Date d'inscription   Statut Membre Dernière intervention   545
       
      J'ai tester sous dos :
      rename *.doc *.txt

      ca a l'air de fonctionner, mais ca marche que pour les fichiers présents dans le répertoire ou tu te trouves.
      A toi d'ajouter la boucle pour parcourir les répertoires
      --
      Tøƒ
      0
  3. bud35000 Messages postés 155 Statut Membre 103
     
    En effet ça fonctionne bien comme ça avec les fichiers.
    Mais c'est pas tout à fait ce que je veux faire, en fait ce sont des répertoires que j'aimerai renommer mais c'est ma faute j'aurai du préciser.
    1
    1. Darkito Messages postés 1191 Date d'inscription   Statut Membre Dernière intervention   545
       
      Le nom de tes dossiers à un format précis ?
      j'avoue que je ne vois pas bien ce que tu veux faire...
      --
      Tøƒ
      0
  4. bud35000 Messages postés 155 Statut Membre 103
     
    ben oui. Ce sont des dossier qui doivent être automatiquement pris par un FTP. Or ils ne sont pris par la moulinette que s'ils ont une extension spécifique. J'avais mis .doc ou .txt comme ça pour l'exemple mais en fait ce sont d'autres extensions spécifiques à nos progiciels.

    Ce qui est bizarre c'est que le script suivant fonctionne. Mais je ne vois pas comment retirer l'extension de départ.
    C'est facile avec des fichiers mais avec les dossiers le dos n'a pas l'air de reconnaître le "*.*"
    for /F %%i in ('dir/B') DO RENAME %%i %%i.dem

    merci en tout cas de ton aide.
    1
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. totor
     
    pour des répertoires ou des fichiers, la syntaxe exacte est :

    c:\test> for /F %i in ('dir/B') DO RENAME %i %i.txt

    il faut être dans le répertoire contenant les fichiers et répertoires à renommer.
    vous pouvez changer l'extension txt par autre chose, par exemple Gadget.

    a+
    1
  7. Gordon
     
    MOVE

    Déplace des fichiers et renomme des fichiers et répertoires.

    Pour déplacer un ou plusieurs fichiers :
    MOVE | /-Y [lecteur:][chemin]fichier1[,...] destination

    Pour renommer un répertoire:
    MOVE | /-Y [lecteur:][chemin]répert1 répertoire2

    [lecteur:][chemin]fichier1 Spécifie l'emplacement et le nom du ou des
    fichiers que vous voulez déplacer.
    destination Spécifie le nouvel emplacement du fichier.
    Destination peut être une lettre de lecteur et
    deux-points (:), un nom de répertoire, ou une
    combinaison. Si vous déplacez un seul fichier,
    vous pouvez aussi inclure un nom de fichier si
    vous voulez renommer le fichier en le déplaçant.
    [lecteur:][chemin]répert1 Spécifie le répertoire que vous voulez renommer.
    répert2 Spécifie le nouveau nom du répertoire.

    /Y Supprime la demande de confirmation de
    remplacement de fichiers de destination existants.
    /-Y Provoque la demande de confirmation de
    remplacement de fichiers de destination existants.

    L'option /Y peut être présente dans la variable d'environnement COPYCMD.
    Outrepassez ceci en utilisant /-Y dans la ligne de commandes. Par défaut, une
    demande de confirmation apparaît sauf si la commande MOVE est exécutée depuis
    un script de commandes.
    0