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 :

Créer plusieurs fichiers de sortie et ajouter un chiffre (compteur) [Batch]


Sujet :

Scripts/Batch

  1. #1
    Membre à l'essai
    Homme Profil pro
    Inscrit en
    Février 2013
    Messages
    24
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Février 2013
    Messages : 24
    Points : 18
    Points
    18
    Par défaut Créer plusieurs fichiers de sortie et ajouter un chiffre (compteur)
    Bonjour j'ai un script qui s'écrit comme ceci :
    mon fichier liste.txt est de ce type :
    commune
    departement
    region

    Code batch : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    for /f "tokens=1,2 delims= " %%a  in ( 'type "E:\liste.txt"') do (
    				echo toto_%%a >>"E:\lancement_sql_%%a.bat"
    				)

    et je voudrais avoir en sortie des fichiers écris de cette manière :

    1_lancement_sql_commune.bat
    2_lancement_sql_departement.bat
    3_lancement_sql_region.bat

    j'ai essayé avec un compteur :
    Code batch : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    setlocal enabledelayedexpansion 
    set compteur=1 
    for %%f in (*) do ( 
    set /A compteur+=1 
    set compteur 
    echo compteur : !compteur! 
    ) 
    endlocal

    mais il m'écrit :
    !compteur!_lancement_sql_commune.bat
    !compteur!_lancement_sql_departement.bat
    !compteur!_lancement_sql_region.bat

    Merci de votre aide les amis

  2. #2
    Expert confirmé

    Homme Profil pro
    Responsable déploiement (SCCM, InTune, GPO)
    Inscrit en
    Juillet 2014
    Messages
    3 177
    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 177
    Points : 5 738
    Points
    5 738
    Par défaut
    - Essaye ceci, car le batch ne gère par l'opérateur d'incrémentation ++
    Code batch : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    @echo off
    setlocal enabledelayedexpansion 
    set compteur=1 
    for %%f in (*) do ( 
    set /A compteur = compteur + 1 
    echo compteur : !compteur! 
    ) 
    endlocal
    PAUSE

    - Pourquoi mettre tokens=1,2 puisque tu souhaite prendre toute la ligne ?

    - Tu peux lire directement ton fichier avec la commande FOR sans utiliser TYPE
    Code batch : Sélectionner tout - Visualiser dans une fenêtre à part
    FOR /F "tokens=* usebackq" %%a IN ("E:\liste.txt") DO @ECHO %%a

    - Concernant l'opérateur ++ nous pouvons le simuler tout de même pour le fun
    Code batch : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    @ECHO OFF
    SET var=0
    SET ++=+1
     
    SETLOCAL ENABLEDELAYEDEXPANSION
    FOR /L %%a IN (1,1,20) DO (
    	SET /a var=!var!%++%
    	ECHO !var!
    )
    ENDLOCAL
    PAUSE

  3. #3
    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
    Juste une petite remarque pour @ericlm128 que je salue au passage :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    @ECHO OFF
    SET var=0
    
    SETLOCAL ENABLEDELAYEDEXPANSION
    FOR /L %%a IN (1,1,20) DO (
    	SET /a var+=1
    	ECHO !var!
    )
    ENDLOCAL
    PAUSE
    le fonctionne parfaitement en batch !


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

  4. #4
    Expert confirmé

    Homme Profil pro
    Responsable déploiement (SCCM, InTune, GPO)
    Inscrit en
    Juillet 2014
    Messages
    3 177
    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 177
    Points : 5 738
    Points
    5 738
    Par défaut
    Salut sachadee.
    Oui ça m'arrive de confondre les langages à force, merci de ta précision chirurgicale
    J'aurai du vérifier !

  5. #5
    Membre à l'essai
    Homme Profil pro
    Inscrit en
    Février 2013
    Messages
    24
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Février 2013
    Messages : 24
    Points : 18
    Points
    18
    Par défaut merci
    ça marche à merveille, heureusement qu'il y a des gars sympa comme vous

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

Discussions similaires

  1. Sortie analogique : Fonctions DAQmx dans une boucle
    Par NI6211User dans le forum LabVIEW
    Réponses: 1
    Dernier message: 21/07/2011, 17h30
  2. Créer un nom de variable qui s'incrémente dans une boucle
    Par Pietro_L dans le forum Général VBA
    Réponses: 3
    Dernier message: 09/05/2007, 16h10
  3. Réponses: 21
    Dernier message: 05/06/2006, 11h49
  4. [log4j] Plusieurs fichiers de sortie
    Par jgfa9 dans le forum Logging
    Réponses: 7
    Dernier message: 01/03/2006, 09h51
  5. Réponses: 4
    Dernier message: 22/11/2004, 20h29

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