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

BeFaX Messages postés 14245 Date d'inscription   Statut Contributeur Dernière intervention   3 825
 
for /f "delims=" %%a in ('type monfichier.txt') do echo %%a
0
dubcek Messages postés 18789 Date d'inscription   Statut Contributeur Dernière intervention   5 637
 
hello
C:> type f1.txt
machine1
station2
noeud3

C:> for /f %a in ('type f1.txt') do @echo %a
machine1
station2
noeud3

C:>
0
Nyctaclope Messages postés 5315 Date d'inscription   Statut Membre Dernière intervention   1 253
 
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
dino
 
Merci.

Mais ca passe pas pour moi : j'ai ca :"in était inattendu"
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
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