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 :

Impossible d'incrémenter avec une boucle for sous dos [Batch]


Sujet :

Scripts/Batch

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    libre
    Inscrit en
    Janvier 2005
    Messages
    21
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Côtes d'Armor (Bretagne)

    Informations professionnelles :
    Activité : libre
    Secteur : Enseignement

    Informations forums :
    Inscription : Janvier 2005
    Messages : 21
    Par défaut Impossible d'incrémenter avec une boucle for sous dos
    Bonjour,

    je débute en batch et je souhaiterais créer des fichiers dont le nom reste le même mais un numéro d'incrémentation crée plusieurs fichiers à se suivre

    le batch va lire chaque ligne d'un fichier que j'ai nommé list-test (c'est celui_là même que je serai amené à modifier puisqu'il contient la liste de mes imprimantes pour un projet) puis il doit créer un fichier qui va se nommer snmp1, snmp2, snmp3,etc.


    Code bat : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    set J=1
    for /F "delims=" %%a in (list-test.txt) do ( 
    echo %%a > snmp%J%.txt 
    set /A J=!J!+1 
     pause
    )

    le problème c'est que dans mon cas il n'y a pas d'incrémentation et je n'ai qu'un seul fichier snmp de créée.

    Me manque-t-il une commande? ou autre chose?

    Merci pour votre aide

  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
    Tu dois activer l'expansion retardée :

    Code bat : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    setlocal enabledelayedexpansion
     
    set J=1
    for /F "delims=" %%a in (list-test.txt) do (
    echo %%a > snmp!J!.txt
    set /A J+=1
    pause
    )


  3. #3
    Membre averti
    Homme Profil pro
    libre
    Inscrit en
    Janvier 2005
    Messages
    21
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Côtes d'Armor (Bretagne)

    Informations professionnelles :
    Activité : libre
    Secteur : Enseignement

    Informations forums :
    Inscription : Janvier 2005
    Messages : 21
    Par défaut
    merci sachadee, ça fonctionne parfaitement.

    par contre je vois que les % ont été remplacés par des points d'exclamation. Cela est-il dû au fait que c'est une valeur arithmétique entière?

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

Discussions similaires

  1. impossible d'incrémenter dans une boucle for
    Par slayer21 dans le forum MATLAB
    Réponses: 13
    Dernier message: 29/07/2009, 14h09
  2. Incrémentation d'un indice avec une boucle for
    Par Faladin dans le forum VB.NET
    Réponses: 3
    Dernier message: 12/05/2008, 14h56
  3. Incrémentation dynamique d'un textbox avec une boucle for
    Par Etanne dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 06/03/2006, 15h17
  4. : remplir des zones de texte avec une boucle For
    Par Haro_GSD dans le forum Access
    Réponses: 3
    Dernier message: 20/09/2005, 21h23
  5. [batch] incrémentation dans une boucle for
    Par bart64 dans le forum Scripts/Batch
    Réponses: 4
    Dernier message: 08/09/2004, 20h05

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