C'è Richie Lawrence's batch library che contiene tutti quegli script utili. Quello di cui hai bisogno è DateToSec (che utilizza GetDate e GetTime).
Ecco uno script semplificata, che impiega un po 'di WMI:
@echo off
setlocal
call :GetUnixTime UNIX_TIME
echo %UNIX_TIME% seconds have elapsed since 1970-01-01 00:00:00
goto :EOF
:GetUnixTime
setlocal enableextensions
for /f %%x in ('wmic path win32_utctime get /format:list ^| findstr "="') do (
set %%x)
set /a z=(14-100%Month%%%100)/12, y=10000%Year%%%10000-z
set /a ut=y*365+y/4-y/100+y/400+(153*(100%Month%%%100+12*z-3)+2)/5+Day-719469
set /a ut=ut*86400+100%Hour%%%100*3600+100%Minute%%%100*60+100%Second%%%100
endlocal & set "%1=%ut%" & goto :EOF
Il risultato verrà restituito nel primo parametro passato a GetUnixTime
, vale a dire %UNIX_TIME%
.
Per esempio:
1341791426 seconds have elapsed since 1970-01-01 00:00:00
Speranza che aiuta!
fonte
2012-07-08 19:14:19
possibile duplicato di [ciò che è l'equivalente di Windows del comando "date +% s"] (http://stackoverflow.com/questions/11124572/ what-is-the-windows-equivalent-of-the-date-date) – dbenham
@dbenham Effettivamente un duplicato, ho trascurato la tua soluzione –
scaricare un file GNU date.exe (da GnuWin32, MinGW, Cygwin) sarebbe utile. –