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 :

Paramétrer la numérotation [Batch]


Sujet :

Scripts/Batch

  1. #1
    Membre régulier
    Femme Profil pro
    Étudiant
    Inscrit en
    Novembre 2015
    Messages
    126
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Enseignement

    Informations forums :
    Inscription : Novembre 2015
    Messages : 126
    Points : 76
    Points
    76
    Par défaut Paramétrer la numérotation
    Bonsoir.

    J'ai un script qui me sert à renommer en masse des fichiers. Je l'ai paramétré pour le choix de l'extension et le nouveau nom.

    Mais je n'arrive pas à le faire pour la numérotation sauf si je dois éditer le batch.

    Par défaut, la numérotation s'affiche ainsi:

    Fichier 001.txt --> File 001.txt

    voici le script:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    @echo off & setlocal
    echo.
    set /p ext=Taper l'extension (sans le point) des fichiers … renommer ^>^> 
    echo.
    set /p name=Taper le nouveau nom suivi d'un espace ou d'un tiret ^>^> 
    set "ext=%ext%" & set "Count=1000"
    for /f "tokens=*" %%a in (
    	'dir/b/on/a-d *.%ext%^|findstr/ie "[0-9]\.%ext%"2^>nul') do (
    	set/a "Count +=1"&&call :ReNum %%Count:~-3%% %%~xa "%%~na")
    goto :eof
    :ReNum
    if not exist File%1%2 ren "%~3%2" "%name%"%1%2

    Pour modifier la numérotation, je dois changer 2 valeurs ici en rouge

    Count=1000 et Count:~-3 ce qui affiche 001

    Count=100 et Count:~-2 ce qui affiche 01

    Count=10 et Count:~-1 ce qui affiche 1

    Je peux aller jusqu'à 000000001 car la limite est à 9 chiffres [0-9]

    Question.

    De quelle façon dois-je procéder pour paramétrer la numérotation directement dans la console, comme je le fais pour l'extension et le nom ?

    Merci de bien vouloir me guider.

  2. #2
    Expert confirmé

    Homme Profil pro
    Responsable déploiement (SCCM, InTune, GPO)
    Inscrit en
    Juillet 2014
    Messages
    3 184
    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 184
    Points : 5 755
    Points
    5 755
    Par défaut
    Je ne comprend pas trop ce que tu veux faire ou obtenir

    Count=1000 et Count:~-3 ce qui affiche 001
    Ceci n'a jamais affiché 001
    Code batch : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    set "Count=1000"
    echo %Count:~-3%
    000

    EDIT : Effectivement il y a un +1

  3. #3
    Expert confirmé

    Homme Profil pro
    Responsable déploiement (SCCM, InTune, GPO)
    Inscrit en
    Juillet 2014
    Messages
    3 184
    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 184
    Points : 5 755
    Points
    5 755
    Par défaut
    C'est ça que tu veux ?

    Code batch : 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
     
    set /p "ext=Taper l'extension (sans le point) des fichiers … renommer ^>^>"
    set /p "name=Taper le nouveau nom suivi d'un espace ou d'un tiret ^>^> "
    set /p "nbr=Taper le nombre de chiffre pour le compteur ^>^> "
     
    set /a Count=0
    for /f "tokens=*" %%a in ('dir /b /on /a-d "*.%ext%"^|findstr /ie "[0-9]\.%ext%" 2^>nul') do (
    	set /a Count+=1
    	set countnbr=00000000000000000000000!Count!
    	set countnbr=!countnbr:~-%nbr%!
    	if not exist "%name%!countnbr!.%ext%" ren "%%~xna" "%name%!countnbr!.%ext%"
    )
     
    pause

  4. #4
    Membre régulier
    Femme Profil pro
    Étudiant
    Inscrit en
    Novembre 2015
    Messages
    126
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Enseignement

    Informations forums :
    Inscription : Novembre 2015
    Messages : 126
    Points : 76
    Points
    76
    Par défaut
    Bonjour ericlm128

    Effectivement, c'est ce que je veux. Mille mercis et bonne journée.

  5. #5
    Membre régulier
    Femme Profil pro
    Étudiant
    Inscrit en
    Novembre 2015
    Messages
    126
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Enseignement

    Informations forums :
    Inscription : Novembre 2015
    Messages : 126
    Points : 76
    Points
    76
    Par défaut
    Bonjour

    Ce script de ericlm128 m'est très utile vu que je peux renommer des fichiers et insérer des numéros.

    Cependant je voudrais ajouter dans ce script un autre paramètre: le choix du début de la numérotation.

    J'ai des centaines de dossiers, dans chaque dossier il y a des milliers de fichiers que je dois renommer et numéroter.

    Dans le 1er dossier, grâce à ce script, j'ai pu renommer les fichiers de 00001 jusqu'à 38457. Je colle ce script (1 Ko) dans le 2ème dossier, mais au lieu de numéroter les fichiers à partir de 00001, je voudrais avoir la possibilité de taper 38458 pour que la numérotation commence à 38458. C'est pour avoir une suite.

    Je sais qu'il existe des logiciels qui font cela mais je ne veux rien installer.

    Merci de bien vouloir m'aider.

  6. #6
    Expert confirmé

    Homme Profil pro
    Responsable déploiement (SCCM, InTune, GPO)
    Inscrit en
    Juillet 2014
    Messages
    3 184
    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 184
    Points : 5 755
    Points
    5 755
    Par défaut
    Code batch : 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
     
    set /p "ext=Taper l'extension (sans le point) des fichiers … renommer ^>^> "
    set /p "name=Taper le nouveau nom suivi d'un espace ou d'un tiret ^>^> "
    set /p "nbr=Taper le nombre de chiffre pour le compteur ^>^> "
    set /p "Count=Taper le nombre de depart pour le compteur ^>^> "
     
    for /f "tokens=*" %%a in ('dir /b /on /a-d "*.%ext%"^|findstr /ie "[0-9]\.%ext%" 2^>nul') do (
    	set countnbr=00000000000000000000000!Count!
    	set countnbr=!countnbr:~-%nbr%!
    	if not exist "%name%!countnbr!.%ext%" ren "%%~xna" "%name%!countnbr!.%ext%"
    	set /a Count+=1
    )
     
    pause

  7. #7
    Membre régulier
    Femme Profil pro
    Étudiant
    Inscrit en
    Novembre 2015
    Messages
    126
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Enseignement

    Informations forums :
    Inscription : Novembre 2015
    Messages : 126
    Points : 76
    Points
    76
    Par défaut
    Bonjour ericlm128

    Encore une fois, mille mercis pour ton aide précieuse et bonne journée.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Numérotation paramétrée
    Par kinaros dans le forum Access
    Réponses: 12
    Dernier message: 12/09/2005, 22h53
  2. [xmlrad] Pb de paramètre ?
    Par Pm dans le forum XMLRAD
    Réponses: 7
    Dernier message: 07/01/2003, 14h37
  3. [SWT] Problème de paramètre GridData
    Par yolepro dans le forum SWT/JFace
    Réponses: 4
    Dernier message: 06/12/2002, 10h37
  4. passage en paramètre d'un array dynamique 2D
    Par Guigui_ dans le forum Langage
    Réponses: 4
    Dernier message: 27/11/2002, 19h47
  5. Paramètre requete SQL (ADOQuery)
    Par GaL dans le forum C++Builder
    Réponses: 3
    Dernier message: 30/07/2002, 11h24

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