Picobat

Si ce bandeau n'est plus pertinent, retirez-le. Cliquez ici pour en savoir plus.

Cet article doit être actualisé (dernière mise à jour : Date de la dernière actualisation) (juin 2021).

Des passages de cet article ne sont plus d’actualité ou annoncent des événements désormais passés. Améliorez-le ou discutez-en. Vous pouvez également préciser les sections à actualiser en utilisant {{section à actualiser}}.

Les liens externes et références sont à actualiser.

Picobat

Capture d'écran de Dos9 v216.1 sur Microsoft Windows.

Informations Créateur |  Romain Garbi

|

Développé par |  Romain Garbi, Teddy Astie, Mike Gautier [1].
Fichiers exécutables |  `pbat`, `pbatize` et `tea`
Première version |  18 décembre 2014
Dernière version |  v216.1[2] (27 janvier 2016)
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

modifier \- modifier le code \- voir Wikidata (aide)

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]

1. ↑ (en) « Dos9/Code ».
2. ↑ (en) « Dos9 - Browse /Dos9-2016.1 at SourceForge.net », sur sourceforge.net (consulté le 19 avril 2021).
3. ↑ a et b « Le Projet Dos9 : Accueil », sur dos9.org (consulté le 31 octobre 2016).
4. ↑ « Le Projet Dos9 :: Commande GOTO », sur dos9.org (consulté le 31 octobre 2016).
5. ↑ a et b « Le Projet Dos9 :: Commande SET (/A)(entiers) », sur dos9.org (consulté le 31 octobre 2016).
6. ↑ a et b « Le Projet Dos9 :: Commande SET (/A)(flotants) », sur dos9.org (consulté le 31 octobre 2016).
7. ↑ « Le Projet Dos9 :: Commande SET », sur dos9.org (consulté le 31 octobre 2016).
8. ↑ « Le Projet Dos9 :: Commande IF », sur dos9.org (consulté le 31 octobre 2016).
9. ↑ « Le Projet Dos9 :: Commande DUMP », sur dos9.org (consulté le 31 octobre 2016).
10. ↑ « Le Projet Dos9 :: Commande TEA », sur dos9.org (consulté le 31 octobre 2016).

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

### Voir aussi

[modifier | modifier le code]

* Cmd
* .bat
* Interpréteur de commandes

* Portail de l’informatique

*[(en)]: Langue : anglais
*[(fr)]: Langue : français