DOS/Set
Introduction.
La commande SET permet d'afficher ou de modifier une variable d'environnement. 
"Il est à noter que toutes les versions de MSDOS ne supportent pas forcement les implémentations qui vont suivre."
"C'est surtout à partir de NT5 (W2000 XP W2003) que le CLI "Command Line Interpreter" commence vraiment à s'étoffer."
Utilisation.
Affichage de variables.
 SET "[nom de variable]"
Si aucun nom de variable n'est indiqué, la commande affiche toutes les variables d'environnement avec leur contenu. Ceci est utile pour chercher une variable telle qu'un répertoire utilisateur.
Si un nom est indiqué, la commande liste toutes les variables commençant par ce nom
Affectation de variables.
Les variables sont très utiles dans un environnement de script ou batch (un programme).
Affectation de chaînes.
la commande SET permet d'affecter une valeur à une variable nommée. Exemple :
 SET X=unechainedecaractère
la variable X vient d'être initialisée avec la valeur "unechainedecaractère".
Chaque instanciation de la console (on peut exécuter cmd.exe plusieurs fois simultanément sous Windows) possède son propre environnement (une zone mémoire) dans lequel sont stockées toutes les variables.
 @echo off
 cls
 echo.
 SET monnom=byby
 echo monnom : %monnom%
 rem permet d'initialiser et d'afficher la variable monnom sur la console à la valeur "byby".
 SET monprenom=titi
 echo monprenom : %monprenom% monnom : %monnom%
 SET nomcomplet=%monprenom% %monnom%
 echo nomcomplet : %nomcomplet%
 rem voilà la concaténation de deux variables en une seule
 pause
<br><br><br><br>
Affectation d'expressions numériques.
Le commutateur /A permet d'évaluer des expressions numériques. Par exemple:
 SET /A X=3+2
Ceci affecte codice_1 à la variable d'environnement codice_2. Si le commutateur n'était pas présent, codice_2 aurait pris la chaine codice_4 sans faire le calcul, et ce, quelle que soit l'utilisation ultérieure de la variable dans l'environnement.
Les expressions utilisent les caractères suivants:
Les opérandes constituant l'expression à calculer peuvent être écrits en notation décimale, hexadécimale ou octale.
Cela peut générer des erreurs de calculs ou des messages d'erreur pas toujours très clairs.
 SET /A A=1+0099
Retourne un message d'erreur :
 Nombre non valide. Les constantes numériques doivent être 
 soit décimales (17), soit hexadécimales (0x11), soit octales (021).
Tout nombre commençant par zéro (tel 0099) est considéré comme octal (chiffre de 0 à 7 inclus). Donc 8 et 9 ne peuvent apparaitre dans un tel nombre.
La commande correcte est la suivante :
 SET /A A=1+99
Affectation utilisateur.
Le commutateur /P permet d'initialiser une variable par une entrée clavier utilisateur.
 SET /P "variable"="message"
Cette commande affiche à l'écran le message, et attend que l'utilisateur donne une chaîne de caractères qui sera alors mémorisée dans la variable.
Suppression de variables.
 SET monnom=
Supprimera la variable "monnom" de l'environnement (la mémoire), en d'autres termes cela libèrera l'espace mémoire occupé par la variable.
Manipulation de variables.
Pour récupérer la valeur d'une variable il suffit d'entourer son nom par des codice_5. Par exemple:
 SET monnom=Ceci est un essai
 ECHO %monnom%
Il est possible de ne récupérer qu'une partie de la chaîne de caractère contenue dans une variable d'environnement. Par exemple :
 ECHO %monnom:~5%
Ceci récupère la chaîne à partir du caractère 5 jusqu'à la fin
 ECHO %monnom:~5,2%
Ceci récupère la chaîne à partir du caractère 5 jusqu'aux 2 caractères suivants.
Si la valeur indiquée est négative, cela signifie un indexage à partir de la fin de la chaine :
 ECHO %monnom:~2,-2%
Ceci récupère la chaîne du 2ème caractère en partant du début jusqu'au 2ème caractère en partant de la fin.
Il est possible de rechercher un chaine dans une variable et de la remplacer par une autre :
 SET chaine_resultante=%chaine_a_traiter:chaine_recherchée=[chaine_de_remplacement]%
Ainsi avec la commande suivante, il est possible d'éliminer l'extension .bat du nom d'un fichier :
 set A="monfichierbatch.bat"
 set A=%A:.bat=%
Variables prédéfinies.
Lorsqu'une console de commandes DOS est lancée, certaines variables sont déjà définies.
Variables d'information système.
Afin de connaître ces variables, il suffit de lister toutes les variables (dépendantes de l'OS) pour y repérer celles qui peuvent servir :
Variables dynamiques.
Certaines variables sont des variables dynamiques du système, c'est-à-dire que leur valeur est modifiée automatiquement selon les changements de contexte ou recalculée à chaque lecture.
Les paramètres de commande.
%0 %1 %2... %9 correspondent à la commande (%0) et aux arguments ou paramètres ou commutateurs (%1 à %9) qui suivent la commande (séparés par des espaces)
%* contient l'ensemble des paramètres %1 à %9.
Ils permettent de passer des variables au sein d'un fichier batch (traitement par lot) introduit par l'utilisateur au moment du lancement de la commande (d'où le nom de commutateur).
À noter : %0 contient toujours le nom du fichier de commande qui est exécuté actuellement (tel qu'il a été saisi en ligne de commande ; ainsi, si on saisit "test" pour exécuter "c:\windows\system32\test.bat", $0 contiendra "test" seul). 
 Echo %0
 Echo %*
Exemple.
Le script suivant est un jeu montrant quelques utilisations de la commande SET
 @ECHO OFF
 CLS

SET /A val=%RANDOM%
 SET /A val2=%val% / 1000
 SET /A val=%val% - %val2% * 1000
 SET /A val2=%val% / 100
 SET /A val=%val% - %val2% * 100
 SET /A val2=%val% / 10
 SET /A val=%val% - %val2% * 10

SET /A nbEssais=3
 ECHO Devinez un nombre compris entre 0 et 10
 ECHO ---------------------------------------
 :debut
 SET /P n=Votre nombre : 
 SET /A nbEssais-=1
 IF %n%==%val% GOTO finGagne
 IF %nbEssais%==0 GOTO finPerdu
 ECHO ----- Perdu. Nouvel essai
 GOTO debut
 :finGagne
 ECHO Bravo ! Vous avez gagné
 GOTO fin
 :finPerdu
 ECHO Perdu ! Il fallait trouver %val%
 GOTO fin
 :fin
 PAUSE
La première variable utilisée est codice_6 contenant la valeur à rechercher. Elle est initialisée avec la variable dynamique codice_7 que l'on divise par 1/10ème de la valeur maximale aléatoire possible, afin d'avoir un nombre compris entre 0 et 9.
La deuxième variable utilisée est codice_8 contenant le nombre d'essais laissés à l'utilisateur pour trouver le nombre. Elle est initialisée à 3 et décrémentée de 1 à chaque demande grâce à l'opérateur codice_9
La troisième variable utilisée est codice_10 contenant la valeur entrée par l'utilisateur. Cette variable est initialisée avec le commutateur /P afin de demander une entrée clavier.
Exemple 2.
Il s'agit lors de la sauvegarde de toute ou partie du système de créer un nom de fichier unique structuré comme suit:
NOMFICHIER_DATA_TIME_RANDOM
 SET YYYYMMDD=%DATE:~6,4%%DATE:~3,2%%DATE:~0,2%
 REM inverse la variable %DATE% pour obtenir une date en Année mois jour bien plus facile à trier
 for /F "tokens=1,2,3,4,5,6 delims==:.-/, " %%A in ("%TIME%") do SET MYTIME=%%A%%B%%C%%D%%E%%F
 REM cette boucle permet de filtrer la variable %TIME% afin d'en éliminer tout caractère indésirable
 REM dans un nom de fichier. On suppose que %TIME% se divise en 6 parties délimitées par [:.-/, ].
 REM le nombre de parties et les délimiteurs n'ont pas à être exacts, il suffit qu'ils couvrent 
 REM le problème.
 SET FILEUID=NOMFICHIER_%YYYYMMDD%_%MYTIME%_%RANDOM%
 REM enfin on rajoute un nombre aléatoire au nom du fichier afin de le rendre unique

Persan/Vocabulaire
Persan/Vocabulaire/Couleurs
NOTE : la prononciation utilise l'alphabet perso-latin.

Persan
Le persan (فارسی), parfois aussi appelé farsi (appellation locale en Iran et en Afghanistan), parsi (appellation locale ancienne, encore utilisée par certains locuteurs), tadjik (un dialecte d'Asie centrale) ou dari (appellation locale en Afghanistan), est une langue parlée en Iran (plus de 60 millions de locuteurs), en Afghanistan (5 millions), au Tadjikistan, au Bahrein et en Ouzbékistan.