Se connecter / S'enregistrer
Votre question

[batch] exercices

Tags :
  • Inspire
  • Programmation
Dernière réponse : dans Programmation
10 Juillet 2007 19:21:22

: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! :) 

Autres pages sur : batch exercices

Contenus similaires
a b L Programmation
10 Juillet 2007 20:51:10

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

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.
a b L Programmation
10 Juillet 2007 22:29:04

Le for est la commande la plus utile pour le traitement de fichier ;) 
10 Juillet 2007 22:37:31

C'est sur qu'une pettite boucle de temps en temps, sa fait pas de mal !
lol
11 Juillet 2007 10:19:24

ok si je comprend pas quelque chose je poste ma question sur ce topic lol
11 Juillet 2007 10:43:20

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.
a b L Programmation
11 Juillet 2007 19:31:07

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/166333-21-batch-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).
12 Juillet 2007 11:56:07

En faite je fais par exemple:

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


dans mon fichier texte je marque

  1. letrucmachin ; coucouboujour


ben dans la fenetre dos sa marque

  1. letrucmachin ; coucouboujour
:heink: 

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

12 Juillet 2007 16:00:40

Tu télécharges MSNFix et tu regardes comment il est constitué.
12 Juillet 2007 16:15:13

lol je vais regarder.
a b L Programmation
12 Juillet 2007 19:28:33

  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 :
  1. letrucmachin


Jusque là, tout va bien, mais regarde ta commande, tu fais:
  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.
  1. ECHO toto

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

Donc, ton code corrigé donne:
  1. @ECHO off
  2. for /F "eol=;" %%i in (test2.txt) do echo %%i
  3. pause

12 Juillet 2007 20:49:47

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?
a b L Programmation
12 Juillet 2007 22:43:35

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 
13 Juillet 2007 12:03:25

Oui c'est vrai que c'est bizzare lol mais merci pour tes réponses.
Tom's guide dans le monde
  • Allemagne
  • Italie
  • Irlande
  • Royaume Uni
  • Etats Unis
Suivre Tom's Guide
Inscrivez-vous à la Newsletter
  • ajouter à twitter
  • ajouter à facebook
  • ajouter un flux RSS