8
votes

Comment obtenir un horodatage universel du fichier de lots de Windows Windows

J'ai du mal à générer un horodatage dans un fichier de lots de Windows, car je reçois des formats de date différents sur différentes versions Windows.

Ma machine: P>

>echo %date%
>11/17/2009


0 commentaires

5 Réponses :


1
votes

Malheureusement, cela ne peut pas être fait directement, vous devez donc recourir à des hacks comme Getdate.cmd .

Il y a beaucoup de VBScript et de petits outils de commande externes disponibles également, ce qui ne prendrait pas une dépendance à moins que vous n'utilisez déjà quelque chose de cette nature dans votre système global.

Personnellement, j'essayais de tourner autour de lui en utilisant PowerShell qui évitent parfaitement le problème complètement.


2 commentaires

C'est une grande pensée, mais quelle sorte de code PowerShell ferait cela?


@ JIM2B in PS, vous pouvez obtenir un objet via [DateTime] :: utcnow, puis une fête à ce sujet (par exemple, il a une propriété de mois, etc.). Est-ce ce que tu veux dire?



2
votes

Utilisez VBScript Si vous souhaitez obtenir des paramètres de date indépendants:

thedate = Now
yr = Year(thedate)
mth = Month(thedate)
dy = Day(thedate)
hr = Hour(thedate)
min = Minute(thedate)
sec = Second(thedate)
WScript.Echo yr&mth&dy&hr&min&sec


2 commentaires

Ceci est vraiment utile utilisé à l'intérieur du script par:> cscript date.vbs // nologo (où date.vbs contient le code que vous avez inclus)


Cela ne vient-il que de retourner la datetime locale? La question était de générer l'UTC DateTime - et est ce que je recherche.



0
votes

Vous n'avez pas besoin de VBScript. Vous pouvez le faire avec quelque chose comme ceci: xxx

source


2 commentaires

Cela ne suppose-t-il pas le format de la sortie de la variable de date?


Yup, cela suppose que le formatage de la date locale est d'un certain format.



4
votes

Consultez DOFF.EXE . J'utilise beaucoup cela pour obtenir des horodatages pour nommer des fichiers journaux. De son site Web:

DOFF imprime une date et une heure formatées, avec un décalage de date facultatif, (E.G -1 Imprime la date d'hier, +1 Date de demain). Pour afficher toutes les options disponibles, exécutez "DOFF -H". J'utilise généralement cet utilitaire pour renommer des fichiers journaux de manière à inclure un horodatage (voir le troisième exemple ci-dessous). Ce code doit compiler sous UNIX / Linux, ainsi que DOS. P>

Exemples de commandes: P> blockQuote> xxx pré>

sans paramètres, la sortie est la date / heure actuelle du format suivant: yyyymmddhhmiss p> blockQuote> xxx pré>

Dans l'exemple ci-dessus, une spécification de format de date est donnée. P> blockQuote> xxx pré>

Le fichier de commandes exemplaire ci-dessus indique un moyen net pour renommer un fichier journal basé sur la date d'hier. La commande "for" s'exécute à DOFT pour imprimer la date d'hier (le paramètre "-1" spécifie hier), puis extrait chaque composant de la date dans les variables de fichiers Batch DOS. La commande "renommée" renomme "httpd-access.log" à "httpd-access- [date d'hier] .log" p> blockQuote>


Découvrez également Microsoft's Now.exe, disponible dans Outils de ressources de ressources Windows Server 2003 . Une mauvaise chose que j'ai découvert (la dure) à ce sujet est qu'elle définit le niveau d'erreur au nombre de caractères imprimés. P>

ressemble à ceci: p>

NOW   :  Display Message with Current Date and Time

Usage : NOW [message to be printed with time-stamp]

    NOW displays the current time, followed by its command-line arguments.
    NOW is similar to the standard ECHO command, but with a time-stamp.


0 commentaires

0
votes

Comme je l'ai posté ici: Batch: horodatage à UNIX Time

Qu'en est-il du programme de long C simple 1 ligne retourner l'horodatage unix? Vous pouvez récupérer la valeur de% errorLel% en% dans le script de lots. P> xxx pré>

dans mon test d'invite de commande, il a fonctionné: p>

C:\Users\dabaran\Desktop\cs50\src\C>.\time || echo %errorlevel% && set mytstamp=%errorlevel%
1419609373

C:\Users\dabaran\Desktop\cs50\src\C>echo %mytstamp%
1419609373


0 commentaires