Picobat
Le projet Picobat (anciennement Dos9) est un projet d'interpréteur de commandes libre dédié à la programmation batch (fichiers MS-DOS .bat). Il propose également des fonctionnalités non présentes dans cmd.exe, comme le support des nombres décimaux.
Créateur | Romain Garbi |
---|---|
Développé par | Romain Garbi, Teddy Astie, Mike Gautier [1]. |
Fichiers exécutables |
pbat , pbatize et tea |
Première version | |
Dernière version | v216.1[2] () |
Version avancée | v221.06 |
DĂ©pĂ´t | https://github.com/darkbatcher/picobat |
État du projet | Actif |
Écrit en | C |
Environnement | Microsoft Windows, POSIX |
Langues | Français, Anglais |
Type | Gratuit (libre) |
Licence | Licence publique générale GNU |
Documentation | http://picobat.org/doc.html |
Site web | http://picobat.org |
Cet interpréteur de commandes fonctionne dans les environnements Microsoft Windows et POSIX[3]. Il peut constituer une alternative à cmd.exe.
Objectifs
Le projet Picobat a plusieurs objectifs[3] :
Extensions de Picobat
Afin de rendre la programmation en batch moins limitée et plus simple, le projet Picobat ajoute diverses fonctionnalités au langage .bat.
goto
Sous Picobat, la commande "« goto » peut rechercher l'étiquette dans un fichier spécifié, également, le commutateur "/Q" permet de désactiver l'affichage d’erreur en cas d'étiquette introuvable[4].
GOTO [:]Ă©tiquette [fichier] [/Q]
set /a
Dans le projet Picobat, la commande « set » peut effectuer des calculs avec des nombres entiers[5] mais également avec des nombres décimaux[6] ; le mode FLOATS permet de calculer par défaut avec des nombres décimaux, si ce mode est activé, tous les calculs s'effectuant avec des nombres décimaux, à l'inverse, avec des nombres entiers[7].
Il est également possible de forcer le calcul avec des nombres entiers ou des nombres décimaux en modifiant le commutateur "« /a ».
:: Calcul avec des nombres entiers
set /a:i variable=expression
:: Calcul avec des nombres décimaux
set /a:f variable=expression
Par ailleurs, les expressions peuvent contenir plus d'opérateurs :
- Avec le calcul de nombres entiers, les conjonction et disjonction logiques sont supportées[5] (respectivement les opérateurs && et ||).
- Avec le calcul de nombres décimaux, de nombreuses fonctions mathématiques comme celles de la trigonométrie, ou encore des constantes mathématique telles que Pi ou encore e sont supportées[6].
if
La commande « if » en plus de supporter les nombres entiers, supporte les nombres décimaux. La comparaison FEQ permet de comparer avec une précision de 10^-13 les nombres décimaux, alors que la comparaison traditionnelle EQU n'a pas de limite de précision[8].
find
Sur Picobat, la commande « find » est directement intégrée à l'interpréteur et n'est pas offerte séparément, à l'inverse de cmd.exe.
Commandes externe fournies
Picobat développe et fournit diverses commandes utiles qui ne sont pas nécessairement présentes sur cmd.exe.
pbatize
Cette commande permet de remplacer certains passages dans des programmes Batch pour corriger certains soucis (en particulier avec certains arguments non espacés).
dump
Cette commande permet d'afficher dans divers formats (hexadécimal, octal, décimal) des fichiers[9].
Elle est utilisée pour, par exemple, générer des codes permettant d'embarquer des fichiers dans un fichier texte.
tea
« tea » est un préprocesseur de texte notamment utilisé dans la documentation et l'aide de Picobat[10].
iconv
« iconv » permet de convertir un texte entre plusieurs encodages, elle n'est pas fournie sur Linux comme elle est généralement déjà présente dans le système.
Notes et références
- (en) « Dos9/Code ».
- (en) « Dos9 - Browse /Dos9-2016.1 at SourceForge.net », sur sourceforge.net (consulté le ).
- « Le Projet Dos9 : Accueil », sur dos9.org (consulté le ).
- « Le Projet Dos9 :: Commande GOTO », sur dos9.org (consulté le ).
- « Le Projet Dos9 :: Commande SET (/A)(entiers) », sur dos9.org (consulté le ).
- « Le Projet Dos9 :: Commande SET (/A)(flotants) », sur dos9.org (consulté le ).
- « Le Projet Dos9 :: Commande SET », sur dos9.org (consulté le ).
- « Le Projet Dos9 :: Commande IF », sur dos9.org (consulté le ).
- « Le Projet Dos9 :: Commande DUMP », sur dos9.org (consulté le ).
- « Le Projet Dos9 :: Commande TEA », sur dos9.org (consulté le ).