Mise à jour : Maintenant que nous sommes en 2016, j'utiliserais PowerShell pour cela, à moins qu'il n'y ait une raison de rétrocompatibilité vraiment convaincante, notamment en raison du problème des paramètres régionaux avec l'utilisation de date
. Voir @npocmaka's https://stackoverflow.com/a/19799236/8479
Quelle(s) instruction(s) de ligne de commande Windows puis-je utiliser pour obtenir l'heure actuelle dans un format que je peux mettre 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, l'idéal étant que ce soit aaaa-mm-jj, mais tout ce qui est simple me convient.
Jusqu'à présent, j'ai obtenu ceci, ce 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 lourd. L'idéal serait qu'elle soit plus brève et qu'elle ait le format mentionné plus haut.
J'utilise Windows Server 2003 et Windows XP Professional. Je ne souhaite pas installer d'utilitaires supplémentaires pour y parvenir (bien que je sache qu'il en existe qui permettent un formatage agréable des dates).
10 votes
Créer une sauvegarde automatique de votre code ? C'est bien ! Nous devrions le faire aussi :)
33 votes
Utiliser les gens de powershell...
[datetime]::now.tostring("yyyy-MM-dd")
0 votes
Est-il possible de charger des fichiers avec la date de création en utilisant xp_cmdshell dans SQL Server ? J'ai posé une question sur stackoverflow, veuillez consulter le lien @ stackoverflow.com/q/32293517/3327081