Win3x.Org

Windows & DOS Community

Le batch, un langage de programmation pour DOS

Répondre   Page 1 sur 2  [ 19 messages ]
Aller sur la page 1 2 »
Auteur Message
wolf.clement
Sujet du message : Le batch, un langage de programmation pour DOS
Publié : 03 mars 2008 19:39
Membre inscrit
Hors-ligne
 
Messages : 40
Inscription : 08 avr. 2007 20:34
 
Voila, je vais vous parler du batch, en faisant un tuto.
Je ne suis pas très libre, alors je le continue quand j'ai le temps.

1 - Qu'est-ce que le batch ?

Le batch est un langage de programmation utilisé pour DOS ou Windows.
Un langage de programmation est ... disons une façon de créer des programmes.
Le batch est utilisé pour les commandes de routine, mais il est compatible du plus ancien DOS jusqu'au Windows Vista qui essaie de masquer ce beau langage.
Vous pouvez le programmer dans Windows, DOS, Linux ou n'importe quel système d'exploitation MAIS il ne peut être lancé que sous DOS ou Windows.
Pour le compilateur vous n'en avez pas besoin, vu que ce langage est OpenSource. Si jamais vous voulez faire des COM ou des EXE, vous pouvez en rechercher sur ce site.
Vous ne créerez pas de fenêtres.
Ce langage est les commandes même de DOS.
Vous pouvez faire les commandes expliquées ci-dessous avec DOS et inversement.
Ce langage sert à démarrer une suite de commandes que l'on utilise souvent rien qu'en entrant le nom du fichier.
Bon, passons à la pratique !

2 - Premier programme

Il suffit d'aller dans EDIT sous DOS ou un notepad pour Windows.
Une fois terminé, vous devez indiquer une extension en ".bat".
@echo off
set compteur=1
:ici
echo Salut !
if "%compteur%"=="10" goto la else (
set compteur=(%compteur%+1)
:la
Etudions cette ligne :
echo Salut !
Il suffit d'indiquer "echo" suivi du texte avec ou sans guillemets pour afficher du texte.
Vous remarquerez que si vous mettez pas exemple "echo Bonjour clément !", le é sera mal compris si vous avez un étiteur ANSI tel que le bloc-notes. Il existe des logiciels pour remplacer des caractères, mais mieux vaut utiliser un bon vieux EDIT de DOS.
Ne mettez pas de caractères tels que &, =, >, <, ,, ", ou % dans votre texte. Si vous tenez vraiment à les mettre, mettez ^ suivi du signe spécial.
set compteur=1
La commande SET permet d'attribuer une valeur à une variable.
Une variable est une série de données contenue dans l'ordinateur, qui peut changer si l'on donne l'ordre de le faire.
Pour, par exemple, faire une variable âge :
set age=14
Il ne faut pas mettre d'accents.
Ensuite, pour afficher l'âge :
echo Tu as %age% ans !
on met une variable entre deux %.
Par contre on ne peut pas écrire :
echo %age%
Pour supprimer une variable, on doit faire :
set age=
Je vais maintenant vous faire la technique du GOTO.
C'est la technique utilisée le plus souvent dans des menus du genre "voulez-vous utiliser DOS ou Windows ?"
:boucle
echo Boucle infinie !
goto boucle
Si vous mettez : devant un mot, cette commande est considérée comme une étiquette. Ensuite il vous suffira d'entrer GOTO nomdelaboucle pour y aller.

Edit à venir...


Dernière modification par wolf.clement le 14 mars 2008 22:11, modifié 3 fois.

Haut
Profil Citer
corwintirnanog
Sujet du message :
Publié : 03 mars 2008 20:29
Membre inscrit
Avatar de l’utilisateur
Hors-ligne
 
Messages : 352
Inscription : 23 oct. 2005 14:13
 
J'aurais plutôt écrit:

1 - Qu'est-ce que le batch ?

Le batch est un langage de programmation utilisé pour DOS ou Windows.
Un langage de programmation est un moyen de décrire une spécification. Ici il s'agit de créer des petits utilitaires pour des travaux répétitifs, pas compliqués mais lassant quand on les fait trop souvent à la main.

Le batch est utilisé pour les commandes de routine, mais il est compatible du plus ancien DOS jusqu'au Windows Vista qui essaie de masquer ce beau langage.
Vous pouvez composer un programme batch dans n'importe quel éditeur de texte sur différents OS, dans la mesure où l'éditeur comprends le formatage DOS (0X0A = 0X0A0X09).

MAIS il ne peut être lancé que sous DOS ou Windows, ou un émulateur de DOS comme DOSBOX.

Pour le compilateur vous n'en avez pas besoin, vu que ce langage est interprété.

Vous ne créerez pas de fenêtres.
Les actions possibles grâce à ce langage sont celle des commandes même de DOS.
Ce langage possède une syntaxe que n'a pas décrit Wolf Clément ;-)

Vous pouvez utiliser les commandes expliquées ci-dessous avec DOS
Bon, passons à la pratique !


Haut
Profil Citer
mafia2007
Sujet du message :
Publié : 06 mars 2008 21:49
 
 
C'est un peu du php ?


Haut
Citer
etm2015
Sujet du message :
Publié : 07 mars 2008 00:17
Membre d'honneur
Hors-ligne
 
Messages : 24
Inscription : 18 avr. 2003 14:07
 
Pas du tout, ce sont bel et bien 2 langages interprétés ( mais ils n'ont pas la même application.)

Le batch te permet de lancer des commandes à ton système d'exploitation (pour peu que ça soit à base de DOS) alors que le PHP est là pour communiquer avec un logiciel (appelé interpreteur PHP) afin d'effectuer (en général) des pages web dynamiques (comme ce forum).

Le batch n'a pas été conçu pour afficher une sortie HTML mais plutôt rendre automatique certaines commandes DOS

BATCH
@echo off
set compteur=1
:ici
echo Salut !
if "%compteur%"=="10" goto la else (
set compteur=(%compteur%+1)
:la
Le même en PHP
<?php
$compteur=1;
echo "Salut !";
if ($compteur != 10) {
$compteur++; //ou bien: $compteur=$compteur+1;
}
?>
Ça va faire 1 an que j'ai pas touché à du php, il y a peu être des erreurs syntaxique dans ce cas corrigez moi, j'ai la flemme de le faire j'avoue :P

_________________

Je reviens... la chasse aux fautes d'orthographe ou au non-respect des règles du forum est ouverte...


Haut
Profil Citer
zmbl
Sujet du message :
Publié : 07 mars 2008 07:01
Membre d'honneur
Avatar de l’utilisateur
Hors-ligne
 
Messages : 302
Inscription : 14 févr. 2008 13:59
 
Si tu voulais pas faire de boucle c'est bon il me semble :lol:


Haut
Profil Citer
etm2015
Sujet du message :
Publié : 07 mars 2008 12:26
Membre d'honneur
Hors-ligne
 
Messages : 24
Inscription : 18 avr. 2003 14:07
 
je voulais juste "traduire" le batch, ce qui n'apporte rien au post d'ailleurs. (Fin de la parenthèse PHP ^^)

_________________

Je reviens... la chasse aux fautes d'orthographe ou au non-respect des règles du forum est ouverte...


Haut
Profil Citer
michel
Sujet du message :
Publié : 07 mars 2008 16:31
Administrateur
Avatar de l’utilisateur
Hors-ligne
 
Messages : 2483
Inscription : 07 févr. 2003 19:46
PC Rétro : IBMPS2 mod85-DOS 6.22 - Windows 3.11 fwg
 
Si vous voulez des clients, il faudrait peut-être ajouter une petite précision, et c'est là l'un des principaux attraits des fichiers batch.
Ce qu'il manque dans votre tutoriel est tellement simple et évident que vous l'avez oublié : juste une petite question avec ses deux réponses...

Quel est l'intérêt des fichiers batch ?

1 - permettre de regrouper plusieurs commandes DOS dans un seul fichier (plutôt que de taper ces commandes une par une au clavier) pour faciliter ou automatiser des tâches.

2 - remplacer une commande longue par une commande courte.

:lol:

_________________

clikicitoraleur


Haut
Profil Citer
ideeman1994
Sujet du message :
Publié : 13 juin 2008 14:02
Membre inscrit
Avatar de l’utilisateur
Hors-ligne
 
Messages : 128
Inscription : 16 mai 2008 09:05
 
corwintirnanog a écrit :
Pour le compilateur vous n'en avez pas besoin, vu que ce langage est interprété.
Ya quand même moyen de compiler en .COM non?


Haut
Profil Citer
victornement
Sujet du message :
Publié : 13 juin 2008 17:29
Membre inscrit
Avatar de l’utilisateur
Hors-ligne
 
Messages : 345
Inscription : 20 janv. 2007 12:23
 
Si tu veux, mais tu peux tout compiler dans ce cas.

_________________

Salut


Haut
Profil Citer
corwintirnanog
Sujet du message :
Publié : 13 juin 2008 19:08
Membre inscrit
Avatar de l’utilisateur
Hors-ligne
 
Messages : 352
Inscription : 23 oct. 2005 14:13
 
D'ailleurs le top c'est d'écrire directement des exécutables avec Notepad, ça c'est la classe.


Haut
Profil Citer
zmbl
Sujet du message :
Publié : 13 juin 2008 19:55
Membre d'honneur
Avatar de l’utilisateur
Hors-ligne
 
Messages : 302
Inscription : 14 févr. 2008 13:59
 
ƒÁ‰
lЋUø‹B4‹
lЉH‹Uø‹B‹H4�yÿÿ  vh° j èqM  ƒÄÇEìD   ÇEä   ƒ=àÍ t%¹8   3À�½ ÿÿÿó«¹8   3À�½ þÿÿó«ÇEð   ‹Uø‹B4‹‰Môë	‹Uô‹B$‰Eôƒ}ô „-  ‹Mô·Q�D!‰Eè‹Mèƒá‹UèщUè‹EìEè;Eäv‹Mä‰Mì‹Uä�   ‰Uäƒ=àÍ „Ù  ‹Eðƒà‹MðƒÁ‰Mð…Àt�• ÿÿÿ‰•øýÿÿë�… þÿÿ‰…øýÿÿ‹�øýÿÿ‰�þÿÿ‹Uô‹B% €  ÷ØÀ÷؉…þÿÿ‹Mô‹Q�â   €÷ÚÒ÷Ú‰•þÿÿƒ½þÿÿ uHƒ=4Î u	ƒ½þÿÿ t6‹Eô·H‹•þÿÿ·Jƒø.t‹Mô·Q‹…þÿÿ·Pƒù u
Ç…þÿÿ   ƒ½þÿÿ t,ƒ½þÿÿ u#ƒ=4Î u‹Uô‹BPèüèÿÿ…Àt
Ç…þÿÿ    ƒ½þÿÿ „»   ‹MìÁéQh¨ �•üýÿÿRÿ” ƒÄ�…üýÿÿ‰…þÿÿë‹�þÿÿƒÁ‰�þÿÿ‹•þÿÿ¾…Àtu‹�þÿÿ¾ƒú9~bƒ½þÿÿ tÇ…ôýÿÿœ ë
Ç…ôýÿÿ” h€Í‹EôPè0îÿÿP‹�ôýÿÿQhà= ÿ¨ ƒÄ‹° ƒÂ Rÿ¸ ƒÄÇÜÍ   ëéoÿÿÿ‹Eô·HÑá‹Uô‹r‹½þÿÿ‹ÁÁéó¥‹Èƒáó¤‹MìMè‰MìéÀýÿÿƒ=ìÍ t‹Uì�Âÿ  �â øÿÿ‹Eø‹H4‰Që‹Uø‹B4‹Mì‰Hé¥üÿÿéküÿÿ‹Uü‰\СŒÀ‹Mü�Tÿ¡ŒÀƒè÷Ð#ЉXÐ_^‹å]ÃÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌU‹ìƒìVjh   èýA  ‰Eü‹EüÆ ‹MüÆA‹UüÆ‚q  ‹EüƒÀ‹
Ô> ‰ŠØ> ˆPhi j ‹EüƒÀPè¨ÿÿh$Àj ‹MüƒÁ(Qè¨ÿÿh$Àh€   ‹Uü�¾   Rèí§ÿÿh¼> h€   ‹Eü>  PèÕ§ÿÿhp> h€   ‹Mü�Á¾  Q輧ÿÿhP> h€   ‹Uü�Â>  R裧ÿÿhi jo‹Eü¾  P莧ÿÿ‹Mü�Á-  ‹ Ð‰¡¤Ð‰A‹¨Ð‰Q¡¬Ð‰AŠ°ÐˆQ‹Eü>  ‹
<> ‰‹@> ‰P‹
D> ‰H‹H> ‰PŠ
L> ˆH‹Uü�ÂO  ¡<> ‰‹
@> ‰J¡D> ‰B‹
H> ‰J L> ˆB‹Mü�Á`  ‹<> ‰¡@> ‰A‹D> ‰Q¡H> ‰AŠL> ˆQ¡HÐPj‹MüƒÁPQè§ÿÿjj‹UüƒÂxRè§ÿÿjj‹EüƒÀ|Pèþ¦ÿÿ‹
ŒÀQj‹Uü�€   Rèæ¦ÿÿ¡dÐPj‹Mü�Á„   QèϦÿÿ‹PЉUø‹EøPj‹Mü�ÁŒ   Qèá¦ÿÿ‹`Ð3À‹
Extrait de CDIMAGE.EXE, un créateur d'ISO en ligne de commande

_________________

« Non, Tournesol. Tryphon Tournesol. »


Haut
Profil Citer
victornement
Sujet du message :
Publié : 13 juin 2008 20:13
Membre inscrit
Avatar de l’utilisateur
Hors-ligne
 
Messages : 345
Inscription : 20 janv. 2007 12:23
 
corwintirnanog a écrit :
D'ailleurs le top c'est d'écrire directement des exécutables avec Notepad, ça c'est la classe.
Ca ca doit être compliqué, il faudrait connaître l'ascii et l'x86 par coeur !

_________________

Salut


Haut
Profil Citer
zmbl
Sujet du message :
Publié : 13 juin 2008 20:20
Membre d'honneur
Avatar de l’utilisateur
Hors-ligne
 
Messages : 302
Inscription : 14 févr. 2008 13:59
 
C'est impossible, regarde mon message c'est indéchiffrable ! :shock:

_________________

« Non, Tournesol. Tryphon Tournesol. »


Haut
Profil Citer
Dr Frankenstein
Sujet du message :
Publié : 13 juin 2008 23:37
Membre d'honneur
Hors-ligne
 
Messages : 440
Inscription : 28 oct. 2004 01:31
 
Les gars... éditeurs hexadécimaux, plz?

Il est impossible de créer/éditer un exécutable x86 "normal" dans Notepad à cause des caractères non-imprimables (< 32).

Bien sûr il existe des hacks et des exceptions (le fichier de test de chez Eicar est un exécutable DOS 16 bits qui peut être copié/collé comme texte).

_________________

Introducing Windows 95.
It lets you use more than eight characters to name your files. Imagine that. ~Apple.


Haut
Profil Citer
Fred_M
Sujet du message :
Publié : 26 oct. 2008 22:50
Membre inscrit
Hors-ligne
 
Messages : 1
Inscription : 04 mai 2008 18:12
 
Je connais un site pour apprendre le Batch, mais son tutoriel n'est pas fini. ->Tout le dos


Dernière modification par Big Monstro le 08 août 2015 18:25, modifié 1 fois.
Lien mort réparé grâce à Internet Archive (merci à Jajan pour nous avoir signalé le lien mort)


Haut
Profil Citer
Dr Frankenstein
Sujet du message : Re: Le batch, un langage de programmation pour DOS
Publié : 19 mai 2011 23:25
Membre d'honneur
Hors-ligne
 
Messages : 440
Inscription : 28 oct. 2004 01:31
 
Écrire directement un fichier en langage machine, avec le header et tout ? C'est limite faisable/infaisable... :p

_________________

Introducing Windows 95.
It lets you use more than eight characters to name your files. Imagine that. ~Apple.


Haut
Profil Citer
Afficher : Trier par : Ordre :
Répondre   Page 1 sur 2  [ 19 messages ]
Revenir à « Documentations et tutoriels » | Aller sur la page 1 2 »
Aller :