Utilier des dates dans les fichiers BAT
2008-10-17 #code-snippets
Pour commencer, le truc de base :
ECHO %Date%
17/10/2008
ECHO %Time%
9:58:13,70
Mais on peut faire mieux en utilisant la syntaxe %Date**:~x,y**% ou %Time**:~x,y**%, où :
- x représente la position du 1° caractère dans la date ou l'heure en cours
- y correspond au nombre de caractères à extraire
La longueur d'une date étant de 10 caractères, x peut prendre une valeur allant de 0 à 9. Par contre, si la valeur de y est supérieure au nombre de caractères présents à partir de la position x, cela n'a pas d'importance : cela ne renverra que le nombre de caractères disponibles.
Donc pour avoir une date au format YYYY-MM-DD, il faut utiliser la syntaxe suivante :
ECHO %Date:~6,4%-%Date:~3,2%-%Date:~0,2%
2008-10-17
On peut aussi utiliser une valeur négative pour x pour compter les caractères de la droite vers la gauche. Dans ce cas, la valeur de x peut aller de -1 à -10 (-1 étant le dernier caractère de la date, -2 l'avant-dernier...). En utilisant une valeur négative, on obtiendra une date au format YYYY-MM-DD avec la syntaxe suivante :
ECHO %Date:~-4,4%-%Date:~-7,2%-%Date:~-10,2%
2008-10-17
Et c'est pareil pour les heures : il faut utiliser la syntaxe suivante pour obtenir une heure au format HH-MM-SS :
ECHO %Time:~0,2%-%Time:~3,2%-%Time:~6,2%
10-03-44