Y a-t-il un moyen d'obtenir le temps d'époque à l'aide d'une commande Windows? Sinon, peut-on modifier les commandes CODE> et Par exemple, TIME CODE> TIME CODE>. P>
date code> dans Windows donne la date avec / etc. Je souhaite obtenir une sortie sans caractères spéciaux tels que /: P>
6 Réponses :
Pour obtenir le temps dans le format "yyyymmdd", essayez ceci: plus sur: p> http://www.sprint.net.au/~terbut/usefulbox/msdoscmds.htm P> Vous pouvez aussi le faire de cette façon: p>
Cela a fonctionné super. L'article était génial, merci de me pointer cela.
Je pense que cette version dépend des paramètres locaux pour l'affichage de la date. E.G., UK vs. US, etc.
Comment est cette époque? Cela ne devrait pas être la bonne réponse
@Jessechisholm est correct. C'est dépendant des paramètres régionaux. J'utilise la sortie de WMIC, comme dans: Robvanderwoude.com/files/sortdate5_xp.txt
Ou ajoutez l'option UTC à la commande de date date -u code> et quelle que soit la mise en forme de votre choix. (Oups, qu'une option Linux. Mon mauvais)
de la ligne de commande essayez ceci N'oubliez pas de doubler les caractères% si dans le fichier de commandes p> J'ai cette sortie : p> [édité par le commentaire de Kurt Pfeifle sur les espaces dans l'expansion du temps] p> p>
Et je reçois DateTime est: 2331 code> ;-)
@Preeet Sangha: Votre t code> peut contenir des blancs d'avance si l'heure est avant 10h00 h. Vous pouvez résoudre ce problème par
définir t =% t: = 0 code> (qui substitue tous les blancs avec
0 code>) ...
@johannes: Qu'est-ce que Date / T retourne sur votre système?
ISO 8601 bien sûr. C'était juste pour souligner qu'une telle approche est condamnée à l'échec dans l'affaire Général.
@Preeet Sangha: Je ne sais pas combien alors "crédit" doit éditer les réponses des autres personnes ... mais je ne l'ai certainement pas.
Je reçois: DateTime est le: 20181020.16
pour / f "jetons = 1,2,3 Delims = /" %% F in ('date / t') définissez d = %% h %% g %% f code> J'ai obtenu le Jour donc je change ce
jetons = 2,3,4 code> dans
jetons = 1,2,3 code>
Il n'y a pas de moyen fiable d'obtenir une date dans les fichiers de lot sans recourir à des outils externes ou à d'autres langues telles que VBScript.
de VBScript Vous pouvez accéder à la date et à l'heure actuelle avec la date code> et Vous pouvez obtenir un résultat frmo le VBScript en utilisant alors la variable temps code> fonctions.
FormatDateTime CODE> Vous obtiendrez un format de date / heure neutre de culture que vous pouvez ensuite analyser. p>
wscript.echo code> à partir du script et appelez-le comme du lot: p>
%% résultat% code> contient tout ce que la VBScript a eu la sortie Dans sa première ligne. p> p>
Rössel: Pourquoi dites-vous que 'Il n'y a pas de moyen fiable d'obtenir une date dans les fichiers de lots' i>? Dans quel sens sont date / t code> et
heure / t code> ou
echo.% Date% code> et
echo.% Temps% code > Peu fiable? - (ils peuvent ne pas être faciles à traiter dans des fichiers par lots, mais comment sont-ils "peu fiables"?)
Rössel: Voulez-vous dire: Il n'y a pas de moyen fiable d'obtenir une date dans les fichiers de lots i> afin qu'ils travaillent de manière fiable sur différents locaux et horaires de Timezones b> ??
@pipitas: En effet, c'est ce que je dis. Ou en d'autres termes: vous pouvez obtenir une date / heure d'une amende pour lui donner un humain à lire, mais vous ne pouvez pas obtenir de manière fiable la date ou l'heure dans un format structuré pour le traiter davantage avec le fichier de lot. Il existe des solutions qui travaillent pour une plus grande variété de locaux mais qui échouent encore dans certains. Ainsi, je l'appelle peu fiable. Si je veux Wriet un programme et le distribuer à d'autres, je ne veux certainement pas que la région affecte sa fonction.
Parmi mes propres recherches en ligne, je n'ai pas été en mesure de trouver un moyen de le faire via un fichier de commandes directement. Cependant, j'ai pu trouver cette solution qui a fonctionné pour moi:
en toepoch.vbs: p> puis appelé à partir de mon script de lots comme: p> qui définit la variable% EPOCH% avec l'horodatage UNIX actuel et j'ai pu l'utiliser car j'avais besoin. P> espère que cela aide cela aide. P> p>
the Coreutils pour Windows Project, http://gnuwin32.sourceforge.net/packages/coretutils. HTM a une commande code> date code>, qui vous donne les mêmes options que sous Linux.
Téléchargez le logiciel et renommez Pour toutes les options disponibles Type: P> date.exe code> à
gnudate.exe code>, pour éviter un conflit avec la commande
dons code>. Vous avez besoin des fichiers
libintl-2.dll code>
et
libiconv-2.dll code> pour exécuter la commande. p>
rem set the variable s to the epoch seconds.
for /f "tokens=1 delims=" %%A in ('gnudate +%%s') do set s=%%A
rem use `%s%` for the time offset parameter of the ffmpeg drawtext filter.
ffmpeg -y -f lavfi -i testsrc=duration=15.3:size=cif:r=10 -vf "drawtext=fontfile=arial.ttf:text=%%{pts\\\:localtime\\\:%s%\\\:%%a %%d %%b %%Y %%H\\\\\\:%%M\\\\\\:%%S}:fontsize=10:x=w-text_w:y=h-lh:box=1" a.mp4
ffplay a.mp4
Utilisez cette commande pour afficher les numéros de secondes après EPOCH. P>
(commande cmd) p>
PowerShell -Command "(Nouveau-Timespan -Start (Get-Day" 01/01/1970 ") --end (Date d'obtention de la date)). TOTALECONDS" CODE> P> P>
Cela ne renvoie pas une valeur entière dans la manière dont l'UNIX date + "% s" code> serait. Mais le point décimal et les chiffres après qu'il peut être coupé en casting à int32:
PowerShell -Command "[INT32] (New-TimesPan -Start (Get-Day" 01/01/1970 ") -. ))). Totauxeconds " code>
Dans PowerShell / Pwsh, vous pouvez raccourcir cela à: [int32] (nouveau-time "1/1/1970"). Totauxeconds code> ou de cmd:
PowerShell -Command "[INT32] (nouveau -Imepan "1/1/1970"). TotaleConds " code>
Avec EPOCH TIME I> - Voulez-vous dire le nombre actuel de toutes les secondes depuis le 1er janvier 1970?
... ou depuis 1904-01-01 ou 100 ns d'intervalles depuis 1601-01-01 ou divers autres époques ;-) L'époque Unix est de loin le plus étrange, imho ;-)
@moorecats: Si ma réponse a fonctionné super pour vous, vous pouvez la remettre, puis la sélectionner comme réponse à votre question. Voici comment fonctionne Stackoverflow. Voir la FAQ - Stackoverflow.com/faq . Vous pouvez bien sûr sélectionner une autre réponse si vous pensez que c'est mieux adapté à votre question.
Êtes-vous sûr que c'est DOS que vous utilisez? N'est-ce pas la console de Windows?