web-dev-qa-db-fra.com

Obtenir la date au format AAAAMMJJ dans le fichier batch Windows

J'ai besoin d'obtenir la date au format AAAAMMJJ en fichier de commandes.

Je fais cela en utilisant:

set mydate=%date:~6,4%%date:~3,2%%date:~0,2%
echo %mydate%

J'ai besoin qu'il soit cohérent sur l'ensemble du système, même lors de la modification des réglages de l'heure.

S'il vous plaît donnez votre avis.

69
user2061002

Si, après avoir lu les autres questions et consulté les liens mentionnés dans les sections de commentaires, vous ne parvenez toujours pas à comprendre, lisez la suite.

Tout d’abord, vous vous trompez de décalage.

Ça devrait ressembler plus à ça ...

set mydate=!date:~10,4!!date:~6,2!/!date:~4,2!
echo %mydate%

Si la date était Tue 12/02/2013, elle serait alors affichée sous la forme 2013/02/12. pour supprimer les barres obliques, le code ressemblerait davantage à set mydate=!date:~10,4!!date:~7,2!!date:~4,2! qui produirait 20130212, ce qui ne ressemble en rien à une date.

Et un indice pour le faire à l'avenir, si mydate égale quelque chose comme !date:~10,4!!date:~7,2! ou similaire, vous avez probablement oublié un tilde (~).

29
BDM

Vous pouvez essayer ça! Cela devrait fonctionner sur les machines Windows.

for /F "usebackq tokens=1,2,3 delims=-" %%I IN (`echo %date%`) do echo "%%I" "%%J" "%%K"
2