Boucle For en MSDOS

Résolu
Zyclo Messages postés 227 Statut Membre -  
 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

A voir également:

2 réponses

dubcek Messages postés 19021 Statut Contributeur 5 637
 
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
Utilisateur anonyme
 
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 ?

@+
0
dubcek Messages postés 19021 Statut Contributeur 5 637
 
non, qu'est ce que l'autoit ?
0
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 ^^)


@+
0
Zyclo Messages postés 227 Statut Membre 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...
0
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+
0
Utilisateur anonyme
 
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



@+
0
Zyclo Messages postés 227 Statut Membre 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, ...
@+
0
Zyclo Messages postés 227 Statut Membre 17
 
Oulaaa, moi ca ma vapas mieux, bien sur que votre recette fonctionne,
merci les gars (dormirez moins bete ce soir)
0
Utilisateur anonyme
 
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 ;)


@+
0
Zyclo Messages postés 227 Statut Membre 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
0