Win3x.Org
http://www.win3x.org/win3board/

Le batch, un langage de programmation pour DOS
http://www.win3x.org/win3board/viewtopic.php?f=2&t=3921
Page 1 sur 2
Auteur :  wolf.clement [ 03 mars 2008 19:39 ]
Sujet du message :  Le batch, un langage de programmation pour DOS

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...

Auteur :  corwintirnanog [ 03 mars 2008 20:29 ]
Sujet du message : 

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 !

Auteur :  mafia2007 [ 06 mars 2008 21:49 ]
Sujet du message : 

C'est un peu du php ?

Auteur :  etm2015 [ 07 mars 2008 00:17 ]
Sujet du message : 

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

Auteur :  zmbl [ 07 mars 2008 07:01 ]
Sujet du message : 

Si tu voulais pas faire de boucle c'est bon il me semble :lol:

Auteur :  etm2015 [ 07 mars 2008 12:26 ]
Sujet du message : 

je voulais juste "traduire" le batch, ce qui n'apporte rien au post d'ailleurs. (Fin de la parenthèse PHP ^^)

Auteur :  michel [ 07 mars 2008 16:31 ]
Sujet du message : 

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:

Auteur :  ideeman1994 [ 13 juin 2008 14:02 ]
Sujet du message : 

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?

Auteur :  victornement [ 13 juin 2008 17:29 ]
Sujet du message : 

Si tu veux, mais tu peux tout compiler dans ce cas.

Auteur :  corwintirnanog [ 13 juin 2008 19:08 ]
Sujet du message : 

D'ailleurs le top c'est d'écrire directement des exécutables avec Notepad, ça c'est la classe.

Page 1 sur 2 Fuseau horaire sur UTC+02:00
Développé par phpBB® Forum Software © phpBB Limited
Traduction française officielle © Qiaeru