Tom's Guide > Forum > Programmation > [batch] exercices

[batch] exercices

Forum Programmation : [batch] exercices

TomsGuide.com : 800 000 inscrits répondent à toutes vos questions high-tech et informatique. Pour obtenir de l'aide, inscrivez-vous gratuitement !
Mot :    Pseudo :           
 

:p Bonjour, je cherche un ou plusieurs sites pour avoir des exemples de scripts batch et des exercices a faire pour m'améliorer un batch. :D j'ai rechercher mais je n'ai rien trouvé. :(
merci d'avance! :)

Liens sponsorisés
Inscrivez-vous ou connectez-vous pour masquer ceci.

http://www.infos-du-net.com/forum/ [...] amme-batch

Regarde les 2 liens que j'avais donné. ;)

------------------------------ 6800A007B81300CD10B00131C989CF26880541
81F900FA750230EDBADA03ECA80875FBECA808
74FBE4603C0175DFB80300CD10B8004CCD21
Répondre à CRicky

ok merci je vais regarder sa avec le lien http://fr.wikibooks.org/wiki/DOS
je peut apprendre tout sur le batch ou pas?

Répondre à liblabrute

J'ai un peu participé à son écriture, mais c'est pas fini.
Regarde la page principale, et les commandes principales (for, set, if, goto).

------------------------------ 6800A007B81300CD10B00131C989CF26880541
81F900FA750230EDBADA03ECA80875FBECA808
74FBE4603C0175DFB80300CD10B8004CCD21
Répondre à CRicky

Donc Goto , set je connaît
if je connaît pa beaucoup
for je connaît pas du tout
mais je vais regarder tout sa lol.

Répondre à liblabrute

Le for est la commande la plus utile pour le traitement de fichier ;)


Message édité par CRicky le 10-07-2007 à 22:31:53
------------------------------ 6800A007B81300CD10B00131C989CF26880541
81F900FA750230EDBADA03ECA80875FBECA808
74FBE4603C0175DFB80300CD10B8004CCD21
Répondre à CRicky

C'est sur qu'une pettite boucle de temps en temps, sa fait pas de mal !
lol

Répondre à darel@IDN

ok si je comprend pas quelque chose je poste ma question sur ce topic lol

Répondre à liblabrute

Voilà donc c'est très bien fait!
mais je ne comprends plus à partir de FOR au titre Boucle sur le contenu d'un fichier
Je vais regarder if qui je pense est autant bien fait que for!
edit: j'ai regardé set, if, goto et j'ai tout compris c'est très bien fait!
bravo!
voilà donc j'aimerais que l'on maide sur le topic pour la boucle for svp.
Donc maintenant j'ai un niveau moyen en batch car ton lien m'a beaucoup aidé,merci et puis je savais quand même faire des choses en batch lol
est-ce que je devrai apprendre autre chose a partir du lien que tu m'as donné?
merci.


Message édité par liblabrute le 11-07-2007 à 11:59:39
Répondre à liblabrute

En fait avec FOR, le commutateur qui est à côté (par exemple /F) est aussi important que le for lui-même, car la commande est totalement différente selon le commutateur.

 

J'ai écrit une bonne partie du for. Je me suis inspiré sur l'explication que j'avais faite avant sur le lien suivant :
http://www.infos-du-net.com/forum/ [...] -aidez-for

 

Alors bon, si tu ne comprends pas, je vois pas comment expliquer mieux.
En gros, le for permet, selon le commutateur de:
- répéter un certain nombre de fois une opération
- faire des opérations sur une liste de fichier (pour chaque fichier indiqué)
- faire des opérations sur les lignes contenues dans un fichier (pour chaque ligne de fichier). Dans ce cas, on peut découper la ligne en cours de traitement en plusieurs morceaux (dans plusieurs variables).


Message édité par CRicky le 11-07-2007 à 19:31:35
------------------------------ 6800A007B81300CD10B00131C989CF26880541
81F900FA750230EDBADA03ECA80875FBECA808
74FBE4603C0175DFB80300CD10B8004CCD21
Répondre à CRicky

Ok non c'est très bien expliqué mais c'est moi qui n'est pas doué lol mais je vais essayer de mieu regarder et plus longtemps lol voilà.
Merci!! en regardant http://www.infos-du-net.com/forum/ [...] -aidez-for je viens de comprendre pleins de chose sur for merci!!!c'est sympas puis mintenant je vais revoir http://fr.wikibooks.org/wiki/DOS pour la boucle for pour comprendre encore mieu merci!!!


Message édité par liblabrute le 12-07-2007 à 11:40:32
Répondre à liblabrute

En faite je fais par exemple:

Code :
  1. @ECHO off
  2. for /F "eol=;" %%i in (test2.txt) do type test2.txt
  3. pause



dans mon fichier texte je marque

Code :
  1. letrucmachin ; coucouboujour



ben dans la fenetre dos sa marque

Code :
  1. letrucmachin ; coucouboujour

:heink:

alors que dans la boucle c'est marqué "eol=;" :D

Répondre à liblabrute

Tu télécharges MSNFix et tu regardes comment il est constitué.

------------------------------ En Restaurant, le coeur de breizh
Répondre à Tybbow

Code :
  1. for /F "eol=;" %%i in (test2.txt) do type test2.txt


Ta commande n'est pas correcte, et je m'explique:
Tu boucles sur les lignes de test2.txt.
Tu n'a qu'une ligne, donc ce qui est fait dans le FOR, n'est fait qu'une seule fois.
Le découpage de la ligne se fait dans les variables, c'est à dire que %%I contient :

Code :
  1. letrucmachin
 

Jusque là, tout va bien, mais regarde ta commande, tu fais:

Code :
  1. type test2.txt


pour la ligne.
Or cette commande affiche le contenu du fichier. Si tu avais mis 5 lignes dans test2.txt, tu aurais affiché son contenu 5 fois !

 

En fait, il ne te faut utiliser que les variables qui contiennent déjà le contenu découpé.
Il te faut donc, simplement utiliser %%i qui contient "letrucmachin " sous forme d'une simple chaine.
Pour afficher la chaine, il faut utiliser la commande ECHO.

Code :
  1. ECHO toto


affiche "toto"
Il te suffit de remplacer le "toto" par "%%i", et c'est bon.

 

Donc, ton code corrigé donne:

Code :
  1. @ECHO off
  2. for /F "eol=;" %%i in (test2.txt) do echo %%i
  3. pause



Message édité par CRicky le 12-07-2007 à 19:30:02
------------------------------ 6800A007B81300CD10B00131C989CF26880541
81F900FA750230EDBADA03ECA80875FBECA808
74FBE4603C0175DFB80300CD10B8004CCD21
Répondre à CRicky

Donc merci pour ta reponse grace a toi j'ai compris eol et skip le problème c'est que token je ne comprends et si je fais
for /F "delims=;" %%i in (test2.txt) do echo %%i
c'est pareil que si je fais
for /F "eol=;" %%i in (test2.txt) do echo %%ije comprends pas pouquoi?

Répondre à liblabrute

Dans ce cas c'est pareil car tu n'as pas fait de token.
si tu ajoutais "token=1,2", (découpage en 2 morceaux), alors le premier morceau se met dans %%i et le second dans %%j (le suivant dans l'ordre alphabetique). Ceci uniquement si tu mets avec delims.
Avec eol, tous ce qui suit le caractère indiqué est jeté.
La programmation du for est un peu bizarre mais c'est comme ça :D

------------------------------ 6800A007B81300CD10B00131C989CF26880541
81F900FA750230EDBADA03ECA80875FBECA808
74FBE4603C0175DFB80300CD10B8004CCD21
Répondre à CRicky

Oui c'est vrai que c'est bizzare lol mais merci pour tes réponses.

Répondre à liblabrute
Tom's Guide > Forum > Programmation > [batch] exercices
Aller à :

Il y a 290 utilisateurs connus et inconnus. Pour voir la liste des connectés connus, cliquez ici.

Attention

Vous allez répondre sur un sujet resté inactif pendant plus de 6 mois.
Assurez-vous d'apporter des éléments nouveaux à la discussion avant de poursuivre.

Répondre Annuler
Liens