Boucle : je me m'en sors pas :(
Résolu/Fermé
Ka-El
Messages postés
260
Date d'inscription
lundi 28 novembre 2011
Statut
Membre
Dernière intervention
7 août 2020
-
Modifié par Ka-El le 20/09/2013 à 09:53
Ka-El Messages postés 260 Date d'inscription lundi 28 novembre 2011 Statut Membre Dernière intervention 7 août 2020 - 20 sept. 2013 à 14:34
Ka-El Messages postés 260 Date d'inscription lundi 28 novembre 2011 Statut Membre Dernière intervention 7 août 2020 - 20 sept. 2013 à 14:34
A voir également:
- Boucle : je me m'en sors pas :(
- Le fichier contient un programme écrit en python. le programme construit un mot secret mais il ne l'affiche pas. modifiez ce programme afin que à chaque itération de la boucle : la variable a augmente de 2 la variable b diminue de 1 ajoutez une instruction pour faire afficher le mot secret construit. quel est ce mot secret ? ✓ - Forum Python
- Mon pc s'allume et s'éteint en boucle ✓ - Forum Matériel & Système
- Samsung a51 redémarre en boucle - Forum Mobile
- Redmi note 8 s'allume et s'éteint en boucle - Forum Xiaomi
- Ipad s'allume et s'éteint en boucle - Forum iPad
1 réponse
dubcek
Messages postés
18718
Date d'inscription
lundi 15 janvier 2007
Statut
Contributeur
Dernière intervention
22 mars 2024
5 615
Modifié par dubcek le 20/09/2013 à 10:26
Modifié par dubcek le 20/09/2013 à 10:26
hello
vérifier le code retourné là :
vérifier le code retourné là :
...... do (set diag=%c& echo diag=%diag% )
20 sept. 2013 à 11:18
D:\ka-el>(
for /F "tokens=2 delims='" %c in ('affichage -i 1000306|find "code"') do (set diag=%c & echo diag=205 )
if "205" == "205" (echo notok ) else (echo 1000306 1>>tata.txt )
)
Je redonne ma boucle pour davantage de compréhension :
for /f "tokens=1" %b in ('type D:\ka-el\toto.txt') do (
for /F "tokens=2 delims='" %c in ('affichage -i %b^|find "code"') do (set diag=%c& echo diag=%diag% )
if "%diag%" == "205" (
echo notok
) else (
echo %b >> fred.txt
)
)
Merci pour votre aide.
20 sept. 2013 à 11:27
for /F "tokens=2 delims='" %c in ('affichage -i 1000306^|find "code"') do set diag=%c
D:\ka-el>echo %diag%
310
Pourquoi dans la boucle il l'affiche en 205 ?
Bizarre.... Bizarrre....
20 sept. 2013 à 12:08
setlocal enableDelayedExpansion
au début du script¨, et remplacer % par !
if "!diag!" == "205" (
Modifié par Ka-El le 20/09/2013 à 13:23
for /f "tokens=1" %b in ('type D:\ka-el\toto.txt') do (
setlocal enableDelayedExpansion
More? for /F "tokens=2 delims='" %c in ('affichage -i %b^|find "code"') do set diag=%c
More? if "!diag!" == "205" (
More? echo notok
More? ) else (
More? echo %b >> tata.txt
More? )
More? )
Mais une partie du résultat donne ceci :
D:\ka-el>(
for /F "tokens=2 delims='" %c in ('affichage -i 1022023|find "code"') do set diag=%c
if "!diag!" == "205" (echo notok ) else (echo 1022023 1>>tata.txt )
)
D:\ka-el>set diag=205
Manifestement il n'arrive pas à traduire "!diag!" et c'est donc la redirection vers le fichier tata.txt qui est systématiquement prise en compte.
Dur, dur ! :-)
20 sept. 2013 à 13:15