Boucle sous dos

dino -  
 dino -
Bonjour,

je cherche a faire une boucle sous DOS qui liste un fichier ou dedans j'ai des noms de machines du style :

for i in "nom de ma liste" do .....

Sis qlq a une idée ?

Merci.

5 réponses

  1. BeFaX Messages postés 16334 Statut Contributeur 3 863
     
    for /f "delims=" %%a in ('type monfichier.txt') do echo %%a
    0
  2. dubcek Messages postés 18627 Date d'inscription   Statut Contributeur Dernière intervention   5 659
     
    hello
    C:> type f1.txt
    machine1
    station2
    noeud3
    
    C:> for /f %a in ('type f1.txt') do @echo %a
    machine1
    station2
    noeud3
    
    C:>
    
    0
  3. Nyctaclope Messages postés 5295 Date d'inscription   Statut Membre Dernière intervention   1 254
     
    Bonjour

    De mémoire, la boucle For ne permet de gérer que des commandes ( instructions ) DOS
    De mémoire également, il n'existe pas de commande permettant la lecture fractionnée d'un fichier texte. Avec un fichier batch, tu pourrais t'en sortir avec des "labels" et des Goto, mais là il s'agit d'un fichier texte à explorer.

    Ici, je ne vois guère que la solution de fractionner ton fichier de données en plusieurs dont les noms se ressemblent par exemple en y incluant des "numéros"

    Et ton For égrènerait les noms de fichiers à lire par une commande Type, la variable "i" fabriquant le nom de fichier en utilisant les caractères génériques * et/ou ? ...
    Cela doit être faisable ..
    Mais je crois me souvenir que tu peux effectivement faire varier la valeur de "i" en parcourant une liste définie par "in" . Dans ce cas ta liste serait celle des noms de fichiers.

    Mais attends d'autres suggestions ..

    A+
    Nyctaclope
    0
  4. dino
     
    Merci.

    Mais ca passe pas pour moi : j'ai ca :"in était inattendu"
    0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. dino
     
    J'ai pu trouver :

    for /F "tokens=1-3 delims=;" %%i in (listserver.txt) do (
    set machine=%%i

    )& echo " machine %%i "

    pause

    Merci a vous tous !!
    0