IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Scripts/Batch Discussion :

Renommer et supprimer des fichiers


Sujet :

Scripts/Batch

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Géomaticien
    Inscrit en
    Juillet 2013
    Messages
    48
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Géomaticien

    Informations forums :
    Inscription : Juillet 2013
    Messages : 48
    Par défaut Renommer et supprimer des fichiers
    Bonjour,

    Je suis ultra débutant en batch. Je sais que ces questions de renommage reviennent tout le temps mais je n'ai pas réussi à me débloquer malgré les nombreux exemples, tous différents...

    Dans mon arborescence, j'ai des fichiers .TAB_RGR92 et des fichiers .mif_RGR92, ainsi que pas mal d'autres types de fichiers.

    Je voudrais :
    1. renommer les deux extensions citées plus haut en .sqlite
    2. Supprimer tout ce qui n'est pas du .sqlite, du .zip, .jpeg, .pdf, .doc, .docx.

    Pour la question 1, voici ce que j'ai trouvé jusqu'à maintenant :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    @echo off
    setlocal enabledelayedexpansion
    For /R %%f in (*.mif_RGR92) do (
    ren %%f %%f.sqlite
    done
    ça ne marche pas. J'ai testé la commande ren toute seule avec

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ren *.mif_RGR92 *.sqlite
    et ça marche mais mon intérêt, c'est de boucler sur tous les dossiers de l'arborescence. De plus il ne s'agit pas d'obtenir monfichier.mif_RGR92.sqlite, mais bien de remplacer mif_RGR92 par .sqlite.

    Pour le 2 :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    @echo off
    set EXT=.TAB_RGR92
    set EXT1=.mif_RGR92
    set EXT2=.jpg
    set EXT3=.zip
    for /f "delims=" %%f in ('dir /b') do  if not %%~xf == %EXT% del %%f
    J'ai testé pour le EXT tout seul et ça marche niquel. Comment faire pour indiquer les autres EXT (EXT1, EXT2,EXT3,...) ?

    Dans l'idéal, une fois les zones d'ombres levées sur ces deux petits bouts de code, j'aimerais pouvoir le lancer en une seule commande...mais chaque chose en son temps .

    A+
    Samy

  2. #2
    Membre Expert
    Avatar de sachadee
    Homme Profil pro
    AMI DU BAT
    Inscrit en
    Janvier 2013
    Messages
    1 478
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Brésil

    Informations professionnelles :
    Activité : AMI DU BAT
    Secteur : Distribution

    Informations forums :
    Inscription : Janvier 2013
    Messages : 1 478
    Par défaut
    Voici un code que j'avais fait pour un tri de video sur le disque dur.
    que j'ai adapté à ta situation.

    Ce code ne fais pas le renommage, il fait seulement un echo des fichiers trouvés. Ainsi tu peux tester en toute securité.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    :::TRIAGE DE FICHIER PAR EXTENSION
    :::Sachadee
    :::www.bbat.forumeiros.com
    
    
    @echo off&color e&cls
    
    ::::::::::::::::::::::::::::::::::::::::::::::::
    
    ::::LES EXTENSIONS A MODIFIER
    
    SET $ext=TAB_RGR92 mif_RGR92
    
    
    CALL :VIDEO
    echo.&echo # TRAITEMENT TERMINE #&pause&endlocal&exit            
    
    :VIDEO
    setlocal enabledelayedexpansion enableextensions
    
    FOR /f "delims=" %%A IN ('dir /aa /b /s') DO (ECHO. TRAITEMENT DE  ^: %%~FA
                                                       FOR %%B IN (%$ext%) DO (IF /I .%%B==%%~XA ECHO TROUVE %%A))
    Pour faire le renommage tu remplaces.

    par pour la 2eme partie il te suffit de creer une autre liste d'extension et d'implémenter un autre test "if" sur la 2eme liste.(ce qui n'est pas membres de la liste est détruit).

    Essaye de le faire et post ton code si tu as des problèmes on t'aidera

    Amicalement

  3. #3
    Membre averti
    Homme Profil pro
    Géomaticien
    Inscrit en
    Juillet 2013
    Messages
    48
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Géomaticien

    Informations forums :
    Inscription : Juillet 2013
    Messages : 48
    Par défaut
    Salut sachadee,

    ça marche bien, mais quand je les lancent dans une arborescence où il y a beaucoup de sous-répertoires, il n'arrive pas à les parcourir tous.

    J'avais essayé alors de rajouter /R devant /f mais ça ne marchait plus. Normalement, le /b de dir doit faire cet effet non ?

    A+

  4. #4
    Membre Expert
    Avatar de sachadee
    Homme Profil pro
    AMI DU BAT
    Inscrit en
    Janvier 2013
    Messages
    1 478
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Brésil

    Informations professionnelles :
    Activité : AMI DU BAT
    Secteur : Distribution

    Informations forums :
    Inscription : Janvier 2013
    Messages : 1 478
    Par défaut
    C'est étrange !

    Essaye de tout rediriger dans un fichier .LOG et regarde où ça coinçe.
    (Dans quel répertoire il ne va pas).

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    
    FOR /f "delims=" %%A IN ('dir /aa /b /s') DO (ECHO. TRAITEMENT DE  ^: %%~FA>>analyse.log
                                                       FOR %%B IN (%$ext%) DO (IF /I .%%B==%%~XA ECHO TROUVE %%A>>analyse.log))

Discussions similaires

  1. Réponses: 5
    Dernier message: 28/10/2011, 23h38
  2. Réponses: 7
    Dernier message: 30/06/2006, 14h45
  3. Réponses: 45
    Dernier message: 04/05/2006, 01h10
  4. Supprimer des fichiers blancs
    Par melmouj dans le forum Shell et commandes GNU
    Réponses: 1
    Dernier message: 05/12/2005, 14h38
  5. Comment supprimer des fichiers en nombre ?
    Par Didier L dans le forum API, COM et SDKs
    Réponses: 13
    Dernier message: 25/01/2005, 16h01

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo