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 :

Modifier plusieurs noms de fichiers


Sujet :

Scripts/Batch

  1. #1
    Candidat au Club
    Inscrit en
    Août 2008
    Messages
    5
    Détails du profil
    Informations forums :
    Inscription : Août 2008
    Messages : 5
    Points : 2
    Points
    2
    Par défaut Modifier plusieurs noms de fichiers
    Bonjour

    Ci-dessous une commande pour changer un nom de fichier bien défini (a remplacer par ???) mais je souhaiterai l même code pour modifier plusieurs fichiers dans le même dossier et la même extension (.xlsx)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    @echo on
    set fichier=???
    set ext=%fichier:~-5%
    set nom=%fichier:~0,-11%
    set nom_final=%nom%%ext%
    ren %nom_final%
    Merci

    Cordialement

  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
    Points : 3 768
    Points
    3 768
    Par défaut
    Salut,


    Amuse-toi

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    
    @echo off
    
    for %%a in (*.xlsx) do (
       echo Traitement de : [%%a]
       echo Nom ==^> %%~na
       echo Extension ==^> %%~xa
       echo Path ==^> %%~dpa
       echo Taille ==^> %%~za
       echo Derniere Modification ==^> %%~ta
       echo * * *
    )
    ________________________________
    Un p'tit coup de pouce ça fait toujours plaisir, pensez-y !
    ________________________________

  3. #3
    Candidat au Club
    Inscrit en
    Août 2008
    Messages
    5
    Détails du profil
    Informations forums :
    Inscription : Août 2008
    Messages : 5
    Points : 2
    Points
    2
    Par défaut
    Merci pour ta réponse sachadee mais ça ne fonctionne pas, je dois changer un paramètre ?

  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
    Points : 3 768
    Points
    3 768
    Par défaut
    Je t'ai juste montrer le moyen de récuperer certaine info
    sur ton fichier en utilisant les delimiters.

    Tu veux renommer tes fichiers de quellle manière ?

    ________________________________
    Un p'tit coup de pouce ça fait toujours plaisir, pensez-y !
    ________________________________

  5. #5
    Candidat au Club
    Inscrit en
    Août 2008
    Messages
    5
    Détails du profil
    Informations forums :
    Inscription : Août 2008
    Messages : 5
    Points : 2
    Points
    2
    Par défaut
    Bonjour sachadee

    Je souhaiterai couper les 6 derniers caractères avant l’extension de plusieurs fichiers et les remplacer par la date du jour :

    Nom : Capture.PNG
Affichages : 1099
Taille : 2,2 Ko

    a123456789.xlsx

    par :

    Nom : Capture.PNG
Affichages : 1106
Taille : 2,9 Ko

    a115022016.xlsx

    Merci

  6. #6
    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
    Points : 3 768
    Points
    3 768
    Par défaut
    En stéréo avec http://batch.xoo.it/t5107-Batch-nom-de-fichier.htm


    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
    @Echo off
    
    setlocal enabledelayedexpansion
    
    
    for %%a in (*.xlsx) do (
      set "$Fichier=%%~na"
      call:Traite "%%a"
    )
    
    echo OK
    exit/b
    
    :Traite
    set "$Fichier=!$Fichier:%$Fichier:~-6%=!%date:/=%"
    echo ren "%~1" "!$Fichier!%~x1"
    J'ai mis un ECHO devant le REN pour que tu puisses tester la sortie.
    Si c'est OK enlève le ECHO et Enjoy !

    ________________________________
    Un p'tit coup de pouce ça fait toujours plaisir, pensez-y !
    ________________________________

  7. #7
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2019
    Messages
    35
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2019
    Messages : 35
    Points : 13
    Points
    13
    Par défaut Même chose mais différement
    Bonjour à toute et à tous,

    Je relance ce vieux sujet en espérant que vous pourrez m'aider...

    J'ai un souci de renommage également mais différent...

    Je vais essayé d'être clair dans ma demande...



    J'ai un répertoire avec plus de 1000 fichiers...
    J'ai un fichier excel (que je peux convertir si besoin)

    Dans cet excel, j'ai deux colonnes :

    Dans la première des codes (ce sont les noms des fichiers pdf)
    Dans la deuxième des codes aussi (ce sont les noms qui doivent remplacer les actuels)


    Donc en résumé, je prends un fichier en exemple, ce fichier ce nomme 54685.pdf
    Dans mon excel, première colonne ligne 1 54685.pdf
    Dans mon excel deuxième colonne ligne 1 95846.pdf

    Le script dont j'ai besoin repère le 54685.pdf dans son répertoire et le renomme en 95846.pdf


    ça ne devrait pas être bien compliqué mais je galère...

    Cette liste n'est pas obligatoire en excel, je peux la convertir en n'importe quel autre fichier (txt par exemple)


    En espérant que quelqu'un pourra m'aider, passez tous une excellente fin de journée...

  8. #8
    Expert confirmé

    Homme Profil pro
    Responsable déploiement (SCCM, InTune, GPO)
    Inscrit en
    Juillet 2014
    Messages
    3 183
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Responsable déploiement (SCCM, InTune, GPO)
    Secteur : Transports

    Informations forums :
    Inscription : Juillet 2014
    Messages : 3 183
    Points : 5 754
    Points
    5 754
    Par défaut
    Oui il serait préférable de créer un fichier csv avec la virgule comme délimiteur standard.

    Un exemple

    fichier test.csv
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    54685.pdf,95846.pdf
    toot.pdf,tata.pdf
    Code batch : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    @echo off
     
    set "dossier=c:\dossier"
    set "csv=test.csv"
     
    for /f "tokens=1,2 delims=," %%a in (%csv%) do if exist "%dossier%\%%~a" ren "%dossier%\%%~a" "%dossier%\%%~b"
     
    pause

  9. #9
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2019
    Messages
    35
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2019
    Messages : 35
    Points : 13
    Points
    13
    Par défaut
    Merci pour ta réponse hyper rapide...

    Je teste ça demain et vous tiens au jus..

    Encore merci et bonne fin de journée...

  10. #10
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2019
    Messages
    35
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2019
    Messages : 35
    Points : 13
    Points
    13
    Par défaut
    Bonjour à tous,

    Bonjour Eric,

    Je viens de tester et ça fonctionne merveilleusement bien !!

    Un tout grand merci !!

    Pour la commande set pour sélectionner le dossier, est-ce possible d'y ajouter un truc pour qu'il prenne en compte les sous-dossier également ?

    Merci d'avance...

    Je vous souhaite à tous un bon dimanche !!

  11. #11
    Expert confirmé

    Homme Profil pro
    Responsable déploiement (SCCM, InTune, GPO)
    Inscrit en
    Juillet 2014
    Messages
    3 183
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Responsable déploiement (SCCM, InTune, GPO)
    Secteur : Transports

    Informations forums :
    Inscription : Juillet 2014
    Messages : 3 183
    Points : 5 754
    Points
    5 754
    Par défaut
    C'est possible mais ça va être plus compliqué

    Code batch : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    @echo off
     
    set "dossier=c:\dossier"
    set "csv=test.csv"
     
    for /f "tokens=1,2 delims=," %%a in (%csv%) do for /f "tokens=*" %%c in ('dir /A /B /S "%dossier%\%%~a" 2^>nul') do ren "%%~c" "%%~b"
     
    pause

  12. #12
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2019
    Messages
    35
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2019
    Messages : 35
    Points : 13
    Points
    13
    Par défaut
    Bonjour à tous,

    Sorry pour ma réponse tardive... (j'attendais une notification qui n'est jamais arrivée)...


    Je teste ça bientôt et vous donne le résultat...


    Bon Week-end !!

Discussions similaires

  1. Réponses: 18
    Dernier message: 08/10/2009, 15h22
  2. Modifier un nom de fichier depuis php
    Par nimbus_77 dans le forum Langage
    Réponses: 7
    Dernier message: 18/11/2008, 19h53
  3. [PHP-JS] Modifier un Nom de fichier
    Par bzh56 dans le forum Langage
    Réponses: 2
    Dernier message: 07/11/2006, 15h29
  4. Modifier un nom de fichier en bash
    Par dams78 dans le forum Linux
    Réponses: 7
    Dernier message: 25/07/2006, 19h11
  5. Réponses: 7
    Dernier message: 07/01/2006, 15h18

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