Mise à jour: Maintenant que nous sommes en 2016, j'utiliserais PowerShell pour cela, sauf s'il y a une raison vraiment rétrocompatible pour cela, en particulier en raison du problème des paramètres régionaux avec l'utilisation date
. Voir le https://stackoverflow.com/a/19799236/8479 de @ npocmaka
Quelle (s) instruction (s) de ligne de commande Windows puis-je utiliser pour obtenir la date / heure actuelle dans un format que je peux insérer dans un nom de fichier?
Je veux avoir un fichier .bat qui zippe un répertoire dans une archive avec la date et l'heure actuelles dans le nom, par exemple Code_2008-10-14_2257.zip
,. Existe-t-il un moyen simple de le faire, indépendamment des paramètres régionaux de la machine?
Le format de la date ne me dérange pas vraiment, idéalement ce serait aaaa-mm-jj, mais tout ce qui est simple est bien.
Jusqu'à présent, j'ai ceci, qui sur ma machine me donne Tue_10_14_2008_230050_91
:
rem Get the datetime in a format that can go in a filename.
set _my_datetime=%date%_%time%
set _my_datetime=%_my_datetime: =_%
set _my_datetime=%_my_datetime::=%
set _my_datetime=%_my_datetime:/=_%
set _my_datetime=%_my_datetime:.=_%
rem Now use the timestamp by in a new ZIP file name.
"d:\Program Files\7-Zip\7z.exe" a -r Code_%_my_datetime%.zip Code
Je peux vivre avec ça, mais ça semble un peu maladroit. Idéalement, il serait plus bref et aurait le format mentionné précédemment.
J'utilise Windows Server 2003 et Windows XP Professionnel. Je ne veux pas installer d'utilitaires supplémentaires pour y parvenir (bien que je réalise qu'il y en a qui feront un bon formatage de date).
[datetime]::now.tostring("yyyy-MM-dd")