Est-il un moyen pour obtenir de l'époque à l'aide d'une commande de Windows?
Est-il un moyen pour obtenir de l'époque à l'aide d'une commande de Windows? Si non, peut - date
et time
des sorties des commandes-elle être modifiée?
Par exemple date
dans Windows donne la date avec /etc. Je voudrais obtenir un résultat qui n'a pas de caractères spéciaux tels que /:
Avec époque -- voulez-vous dire de l'actuel nombre de secondes depuis le 1er janvier 1970?
... ou depuis 1904-01-01 ou 100 ns intervalles, depuis 1601-01-01 ou divers autres époques 😉 L'époque UNIX est de loin le plus étrange, à mon humble avis 😉
si ma réponse a très bien fonctionné pour vous, vous pouvez upvote, puis le sélectionner comme la réponse à votre question. C'est de cette façon StackOverflow œuvres. Voir la FAQ - stackoverflow.com/faq. Vous pouvez bien sûr choisir d'autres réponses si vous pensez que c'est un meilleur ajustement pour votre question.
Êtes-vous sûr que c'est de DOS que vous utilisez? N'est-il pas la console Windows?
... ou depuis 1904-01-01 ou 100 ns intervalles, depuis 1601-01-01 ou divers autres époques 😉 L'époque UNIX est de loin le plus étrange, à mon humble avis 😉
si ma réponse a très bien fonctionné pour vous, vous pouvez upvote, puis le sélectionner comme la réponse à votre question. C'est de cette façon StackOverflow œuvres. Voir la FAQ - stackoverflow.com/faq. Vous pouvez bien sûr choisir d'autres réponses si vous pensez que c'est un meilleur ajustement pour votre question.
Êtes-vous sûr que c'est de DOS que vous utilisez? N'est-il pas la console Windows?
OriginalL'auteur moorecats | 2010-08-10
Vous devez vous connecter pour publier un commentaire.
À gagner du temps dans le "aaaammjj" format, essayez ceci:
Plus sur:
http://www.sprint.net.au/~terbut/usefulbox/msdoscmds.htm
Je pense que cette version dépend des paramètres régionaux pour l'affichage de la date. E. g., Royaume-UNI et aux états-unis, etc.
OriginalL'auteur Leniel Maccaferri
Au travers de ma propre recherche en ligne, je n'étais pas en mesure de trouver un moyen de le faire via un fichier de commandes directement. Cependant, j'ai été en mesure de trouver cette solution qui a fonctionné pour moi:
Dans toEpoch.vbs:
Ensuite appelé à partir de mon script de traitement par lot comme suit:
Que l'ensemble de l' %epoch% variable le timestamp unix actuel et j'ai été capable de l'utiliser comme je devais le faire.
Espère que cette aide.
OriginalL'auteur Cameron Oakenleaf
Utilisez cette commande pour afficher les numéros de secondes après l'époque.
(Commande Cmd)
powershell -command "(New-TimeSpan -Start (Get-Date "01/01/1970") -End (Get-Date)).TotalSeconds"
OriginalL'auteur Benjamin2002
à partir de la ligne de commande essayez cette
n'oubliez pas de doubler l' % caractères si dans le fichier de commandes
J'obtiens ce résultat:
[Édité par Kurt Pfeifle commentaire à propos de espaces dans le temps de l'expansion]
datetime is : 2331
😉Sangha: votre
t
peut contenir des espaces de début si l'heure est avant 10:00 h. Vous pouvez corriger cela enset t=%t: =0
(qui remplace tous les espaces en blanc avec0
)...sweet! je vous remercie. Se sentir libre de modifier la réponse.
ce qui ne date /t de retour sur votre système?
La norme ISO 8601, bien sûr. C'était juste pour souligner qu'une telle approche est vouée à l'échec dans le cas général.
OriginalL'auteur Preet Sangha
Il n'y a aucun moyen fiable d'obtenir une date dans le lot des fichiers sans avoir recours à des outils externes ou d'autres langages tels que VBScript.
À partir de VBScript, vous pouvez accéder à la date actuelle et l'heure avec le
Date
etTime
fonctions.FormatDateTime
, vous obtenez une culture neutre format de date/heure vous pouvez ensuite les analyser.Vous pouvez obtenir un résultat frmo le VBScript en utilisant
WScript.Echo
à partir du script et de l'appeler comme du lot:Alors la variable
%result%
contient tout ce que le VBScript avait sortie de sa première ligne.date/t
ettime/t
ouecho.%date%
etecho.%time%
pas fiable? -- (Ils peuvent ne pas être facile à traiter dans des fichiers batch, mais comment sont-ils "peu fiable"?)Rössel: as-tu veux dire: Il n'y a aucun moyen fiable d'obtenir une date dans des fichiers batch de sorte qu'ils fonctionnent de manière fiable à travers les différentes localités et les fuseaux horaires ??
En effet, c'est ce que je dis. Ou en d'autres termes: Vous pouvez obtenir une date/heure de l'amende juste pour lui donner un homme à lire, mais vous ne pouvez pas obtenir de manière fiable la date ou l'heure dans un format structuré pour traiter davantage avec le fichier de commandes. Il existe quelques solutions qui fonctionnent pour une plus grande variété de lieux, mais ne permettent pas encore certains. Donc je l'appelle pas fiables. Si je veux wriet un programme et de le distribuer à d'autres, je ne veux certainement pas de la locale à affecter sa fonction.
OriginalL'auteur Joey
Les CoreUtils pour Windows projet, http://gnuwin32.sourceforge.net/packages/coreutils.htm a un
date
de commande, qui vous donnent les mêmes options que sous Linux.Télécharger le logiciel, et de le renommer
date.exe
àgnudate.exe
, pour éviter un conflit avec laDos date
de commande. Vous avez besoin des fichierslibintl-2.dll
et
libiconv-2.dll
pour exécuter la commande.Pour toutes les options disponibles type:
Par exemple
gnudate "+%a %e %b %Y %H:%M:%S"
donnera:La commande
gnudate +%s
donnera les secondes depuis Epoch:La prochaine batch Dos de fichier illustre l'utilisation de gnudate. Vous aurez besoin de doubler les
%
dans le gnudate+%s
paramètre.Ce fichier de commandes a été testé avec Windows 8 dans une machine virtuelle sous Linux.
Pour l'exécuter, vous devez installer
ffmpeg
.Vous pouvez télécharger le
Static build
de https://ffmpeg.zeranoe.com/builds/.OriginalL'auteur Arjen Rodenhuis