Plusieurs solutions existent pour afficher la date et l'heure courante dans un script batch.
Vous trouverez sur cette page une première solution (parmi d'autres) pour afficher ces données.
En utilisant cette première solution, vous apprendrez également à manipuler les chaînes de caractères, mais le principal défaut est que vous ne pouvez pas l'utiliser pour créer un fichier (voir plus bas pour plus d'explications)
En utilisant la seconde solution, vous découvrirez la puissance de la boucle for !
Les variables %date% et %time% permettent de récupérer respectivement la date et l'heure courante.
Exemple
@echo off echo Date du jour : %date% echo Heure courante : %time%
Le résultat de ce script est :
Date du jour : 03/10/2013 Heure courante : 18:30:24,45
Pour découper une chaîne de caractères, il faut utiliser la syntaxe suivante :
%nom_variable:~positionDepart,nombreCaracteres%
Exemple
Affiche la date dans le format : aaaammjj à partir de la variable %date%
echo %date:~6,4%%date:~3,2%%date:~0,2%
Explications :
Chaîne de caractères | 0 | 8 | / | 0 | 4 | / | 2 | 0 | 1 | 1 |
Position | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 |
L'exemple ci-dessus a comme résultat : 20110408.
Il faut utiliser la même syntaxe que pour les dates :
echo %time:~0,2%%time:~3,2%%time:~6,2%
Explications :
Chaîne de caractères | 2 | 3 | : | 1 | 5 | : | 0 | 0 |
Position | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 |
La commande time renvoie l'heure courante dans le format suivant : (h)h:mm:ss,ms
Attention, lorsque l'heure est inférieure à 10, %time:~0,2% affiche un espace avant l'heure. Vous ne pouvez donc pas utiliser cette solution si vous souhaitez récupérer la date et l'heure pour nommer un fichier (log de sauvegarde, etc...). Utilisez la solution ci-dessous pour palier à ce problème.
Retrouvez la partie 2 de ce tutoriel sur la page : Afficher la date et l'heure dans un script batch (partie 2)