Boucle For en MSDOS [Résolu/Fermé]

Signaler
Messages postés
214
Date d'inscription
jeudi 27 septembre 2007
Statut
Membre
Dernière intervention
28 août 2014
-
 Utilisateur anonyme -
Bonjour,

je cherche a faire une boucle For , en ligne de commande DOS qui va lire les lignes d un fichier texte.
Pour ce faire, j ai mon fichier en entree
(liste.txt)
1
4
5
80
10

pour lire le fichier je fais un commande suivante :
for /F %%I in (liste.txt) do ( echo %%I)

Le systeme me repond : " %%I was unexpected at this Time " , j avoue que je suis perdu, quelqu un peut il m aider ?

Merci par avance, ZY

2 réponses

Messages postés
18241
Date d'inscription
lundi 15 janvier 2007
Statut
Contributeur
Dernière intervention
31 mai 2021
5 300
hello
en ligne de commande, les variables ne sont précédées que d'un seul %
C:> for /F %I in (liste.txt) do @echo %I
1
4
5
80
10
2
Merci

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

CCM 65492 internautes nous ont dit merci ce mois-ci

Salut dubcek ;)

Mais s'il passe par là, ou par bat

avec ton code

C:> for /F %I in (liste.txt) do @echo %I  
1  
4  
5  
80  
10



Il faut que le fichier liste.txt se trouve sur C:


sinon, il faudrait commencer par
cd CHEMIN DU FICHIER



Exemple : le fichier se trouve sur le bureau
cd %userprofile%\desktop  
for /F %I in (liste.txt) do @echo %I  



Je peux me tromper ;)


Je vais tester sur mon pc ===> ça marche


ps : en tout cas, merci à toi, Dubcek : je ne savais pas qu'on pouvait faire cela directement sur CMD...


Mais cela est plus pratique en fichier .bat ;)


@dubeck : Tu connais l'autoit ?

@+
Messages postés
18241
Date d'inscription
lundi 15 janvier 2007
Statut
Contributeur
Dernière intervention
31 mai 2021
5 300
non, qu'est ce que l'autoit ?
Utilisateur anonyme
Une autr programmation, autre que le batch ;)


Avec une interface graphique ;)


Plus compliqué que le batch


Là, je suis une formation là dedans....


Je rame un peu (voire pas mal ^^)


@+
Messages postés
214
Date d'inscription
jeudi 27 septembre 2007
Statut
Membre
Dernière intervention
28 août 2014
17
AutoIt ? tiens? tu veux tricher aux jeux facebook ?
:-)
j ai abandonne le truc, mais c est vrai que ca rapporte pas mal, tant que les interfaces ne changent pas...
PS : Desole pour le commentaire de 15:01, j avais la tete ailleurs, j ai demané a ce qu on l efface...
Utilisateur anonyme
autoit n'est pas fait piur tricher au jeu ! Ca, c'est un cliché ;)

Pour l'instant, jai crée un outil qui recherche des fichiers sur le net et sur le pc.

Je suis qu'au debut ;)

A+
Bonjour.


je viens de tester ton code


Effectivement, ça ne marche pas : mais j'obtiens une erreur différente que la tienne


Par contre, ce code là marche pour moi

@echo off 
for /F %%I in (%userprofile%\desktop\liste.txt) do ( echo %%I)




Essaye-le et dis moi tout ;)



Je viens d'avoir un flash :D


Ta commande, tu l'inscris où ? Directement sur CMD ?




Edit :

J'ai testé sur CMD directement : j'ai la même erreur que toi...


Il faut créer un bat pour lancer ton code.....



* tu crée un fichier text (.txt) sur ton bureau
* tu modifie le .txt en .bat
* tu modifie le fichier (clic droit)
* tu met ton code
@echo off 
for /F %%I in (%userprofile%\desktop\liste.txt) do ( echo %%I)

* tu l'enregistre
* et tu le lances



@+
Messages postés
214
Date d'inscription
jeudi 27 septembre 2007
Statut
Membre
Dernière intervention
28 août 2014
17
Salut franco,
Bien sur qu en fait c est dans un batch que je l ecris mais comme ca ne me donne pas ce que je veux, j essaie de comprendre en ligne de commande...
ce qui m agace c est que j ai toujours la meme reponse. et le meme message d erreur incomprehensible.
je dois avoir un truc un peu tordu du genre une fenetre look msdos, mais qui ne l est pas vraiment .;
je vais continuer a checher, ...
@+
Messages postés
214
Date d'inscription
jeudi 27 septembre 2007
Statut
Membre
Dernière intervention
28 août 2014
17
Oulaaa, moi ca ma vapas mieux, bien sur que votre recette fonctionne,
merci les gars (dormirez moins bete ce soir)
Salut ;)

Au lieu de mettre (liste.txt), :
=> met le chemin complet
exemple ("c:\users\thomas\desktop\liste.txt)
ou
=> sert toi de la commande cd pour te rendre directement sur le chemin où se trouve liste.txt

comme ceci

@echo off 
cd c:\users\thomas\desktop 
for /F %%I in (liste.txt) do ( echo %%I) 
pause


J'ai rajouté une pause, afin que tu vois que l'invite de commandes affiche ^^

Adapte le code avec tes propres chemins
Met ce code dans un fichier bat ;)

Et lance le ;)


@+
Messages postés
214
Date d'inscription
jeudi 27 septembre 2007
Statut
Membre
Dernière intervention
28 août 2014
17
c est bon , merci (en fait cette partie est une mince contribution a un merdier plus gros, mais qui me fait gagner quelques heures en ecritures et verification) merci encore