Ca fais 3 jours (une partie de mes nuits de vacance et de recherche sur le net...) que je suis bloqué sur un systéme de boucle for /f sur un batch dos ... Alors si quelqun connais le systéme, me donnée la solution mais surtout les EXPLICATIONS car je veut comprendre et pas recopier betement un trucs :
Mon but : Recuperer la ligne correspond a l'adresse MAC dans l'invite de command, l'envoyer vers un fichier texte. Faire un traitement sur ce fichier texte pour ne recuperer que la bouche For.
Pas à pas :
Là j'envoi le contenu vers un fichier ap.txt :
rem recolte de la mac ipconfig /all | find "Adresse physique">ap.txt
non serieusement, to truc fais le java ou avec wsh ou vbscript.
٩(̾●̮̮̃̾•̃̾)۶ ٩(͡๏̯͡๏)۶ ٩(-̮̮̃-̃)۶ ♥ ℓ٥ﻻﻉ√٥υ ♥ yeh yeh yeh "Je ne suis pas exigeante, je me contente du meilleur" Le cynisme c'est l'arme politique des gueux éduqués. [Benoît Gagnon]_
٩(̾●̮̮̃̾•̃̾)۶ ٩(͡๏̯͡๏)۶ ٩(-̮̮̃-̃)۶ ♥ ℓ٥ﻻﻉ√٥υ ♥ yeh yeh yeh "Je ne suis pas exigeante, je me contente du meilleur" Le cynisme c'est l'arme politique des gueux éduqués. [Benoît Gagnon]_
Le premier élément avant le séparateur est : " Adresse physique" Le second élément après le séparateur est : xx-xx-xx-xx-xx-xx si tu choisi tokens=1 tu obtiens donc : set mac= Adresse physique si tu choisi tokens=2 tu obtiens donc : set mac= xx-xx-xx-xx-xx-xx (avec un espace devant le premier xx )
Voila la syntaxe d'une boucle For /f : ICI Et toute les syntaxes batch ou ligne de commande : ICI
Pour éviter cet espace superflu il te faut donc choisir un autre séparateur, l'espace ( ) Et comme il y a 11 espaces avant l'adresse MAC, l'élément que tu cherches (adresse MAC) est le 12eme
La bonne syntaxe est donc :
for /f "tokens=12 delims= " %%1 in (ap.txt) do set mac=%%1
Important : ne pas oublier l'espace après delims= (Le mieux est de copier coller la ligne)
et tu obtiens : set mac=xx-xx-xx-xx-xx-xx sans espace avant le premier xx
Nota : Si tu veux essayer en ligne de commande change les %%1 en %1
Voili Voilou
Dernière
modification : Edité par Tchepo le
Il est des limitations que nul ne peut concevoir puisqu'elles s'opposent à toute conception...
٩(̾●̮̮̃̾•̃̾)۶ ٩(͡๏̯͡๏)۶ ٩(-̮̮̃-̃)۶ ♥ ℓ٥ﻻﻉ√٥υ ♥ yeh yeh yeh "Je ne suis pas exigeante, je me contente du meilleur" Le cynisme c'est l'arme politique des gueux éduqués. [Benoît Gagnon]_
٩(̾●̮̮̃̾•̃̾)۶ ٩(͡๏̯͡๏)۶ ٩(-̮̮̃-̃)۶ ♥ ℓ٥ﻻﻉ√٥υ ♥ yeh yeh yeh "Je ne suis pas exigeante, je me contente du meilleur" Le cynisme c'est l'arme politique des gueux éduqués. [Benoît Gagnon]_