Changer nom fichiers avec invite de commandes cmd

Résolu
brino1987 -  
 brino1987 -
Bonjour,
j'ai plusieurs fichiers de ce type snort.log.xxxxxxxx et j'aimerai changer leurs extensions d'un seul coup en .log avec un code java ou un commande cmd (c à d leurs noms deviennent snort_*.log).
j'entends vos aides et vos lumières chers amis svp.

merci d'avance

2 réponses

  1. dubcek Messages postés 18627 Date d'inscription   Statut Contributeur Dernière intervention   5 660
     
    hello
    que représente le * dans le nom ? snort_*.log
    1
    1. brino1987
       
      le * représente un numéro par exemple j'ai 3 fichier snort:

      snort.log.123354545645
      snort.log.338735487465
      snort.log.232746738463

      les numéros sont des types(extensions) de ces fichiers

      moi j'aimerai changer ces types en types log mais le problème est que ces 3 fichiers porte les mème nom snort et donc windows n'accepte pas cela

      avez vous une idée svp??
      merci d'avance :)
      0
    2. dubcek Messages postés 18627 Date d'inscription   Statut Contributeur Dernière intervention   5 660
       
      enlever le echo pour effectuer le rename
      @echo off
      SETLOCAL ENABLEdelayedExpansion
      for %%a in (snort*.*) do (
      	set x=%%~na
      	set n2=!x:.log=!
      	set n3=%%~xa
      	set n3=!n3:.=_!
      	echo ren %%a !n2!!n3!.log
      )
      
      0
    3. brino1987
       
      merci dubcek, mais où je veux tape ce commande???
      0
    4. dubcek Messages postés 18627 Date d'inscription   Statut Contributeur Dernière intervention   5 660
       
      mettre les commandes dans un fichier .bat et exécuter ce fichier, ou exécuter cette commande, plus courte:
      for %a in (snort.log.*) do @for /f "delims=. tokens=1-3" %b in ('echo %a') do @echo ren %a %b_%d.%c
      enlever le 2ème echo pour renommer
      0
    5. brino1987
       
      merci pour votre aide ,

      je fais ce qui vous me dites mais lorsque je tape le commande .bat sur cmd il m'affiche
      ren snort.log.xxxxxxxxx snort_xxxxxxxxx.log et rien ne change :(
      0
  2. jee pee Messages postés 31886 Date d'inscription   Statut Modérateur Dernière intervention   9 981
     
    Salut,

    Je suppose que le * c'est le xxxx du nom d'origine

    On peut faire cela :

    for %I in (snort.log.*) do rename %I snort%~xI.log

    le fichier snort.log.0001 devient snort.0001.log

    (référence en ligne de cde Windows 7: help for)

    On doit pouvoir avec des instructions de traitement de chaines remplacer le . par _ mais j'ai fait au plus simple ;-)

    Un étranger, c'est un ami qu'on n'a pas encore rencontré.
    0