Picobat
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 |
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.
Cet interpréteur de commandes fonctionne dans les environnements Microsoft Windows et POSIX[3]. Il peut constituer une alternative à cmd.exe.
Objectifs[modifier | modifier le code]
Le projet Picobat a plusieurs objectifs[3] :
- la liberté : support d'un maximum de plateformes ;
- la compatibilité : une certaine compatibilité avec cmd.exe ;
- la rapidité : plus rapide que cmd.exe ;
- la légèreté : simple à déployer.
Extensions de Picobat[modifier | modifier le code]
Afin de rendre la programmation en batch moins limitée et plus simple, le projet Picobat ajoute diverses fonctionnalités au langage .bat.
Commandes internes étendues[modifier | modifier le code]
goto[modifier | modifier le code]
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[modifier | modifier le code]
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[modifier | modifier le code]
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].
Commandes externe intégrées[modifier | modifier le code]
find[modifier | modifier le code]
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[modifier | modifier le code]
Picobat développe et fournit diverses commandes utiles qui ne sont pas nécessairement présentes sur cmd.exe.
pbatize[modifier | modifier le code]
Cette commande permet de remplacer certains passages dans des programmes Batch pour corriger certains soucis (en particulier avec certains arguments non espacés).
dump[modifier | modifier le code]
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[modifier | modifier le code]
« tea » est un préprocesseur de texte notamment utilisé dans la documentation et l'aide de Picobat[10].
iconv[modifier | modifier le code]
« 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[modifier | modifier le code]
- (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 ).
Annexes[modifier | modifier le code]
Liens externes[modifier | modifier le code]
- (fr) Site officiel
- (fr) Documentation française officielle
- (en) Documentation anglaise officielle
- (en) Page du projet sourceforge