Есть ли способ узнать время эпохи с помощью команды Windows?

Есть ли способ узнать время с помощью команды Windows? Если нет, можно ли изменить вывод команд date и time ?

Например, date в Windows дает дату с / и т. Д. получить вывод, в котором нет специальных символов, таких как /:

7
задан Ross Ridge 12 April 2016 в 19:31
поделиться

3 ответа

Чтобы получить время в формате «ггггммдд», попробуйте следующее:

for /F "tokens=2-4 delims=/ " %i in ('date /t') do echo %k%i%j

Подробнее:

http://www.sprint.net.au/~terbut/usefulbox/msdoscmds.htm

0
ответ дан 6 December 2019 в 14:00
поделиться

из командной строки попробуйте это

for /f "tokens=2,3,4 delims=/ " %f in ('date /t') do @echo %h%g%f

не забудьте удвоить% символов, если в пакетном файле

@echo off
setlocal
for /f "tokens=2,3,4 delims=/ " %%f in ('date /t') do set d=%%h%%g%%f
for /f "tokens=1,2 delims=: " %%f in ('time /t') do set t=%%f%%g
echo datetime is : %d%%t: =0%
endlocal

я получил следующий результат:

c:\development>xx.bat
datetime is : 201008111108

[Отредактировано в соответствии с комментарием Курта Пфайфла о пространствах во времени]

2
ответ дан 6 December 2019 в 14:00
поделиться

Нет надежного способа получить дату в пакетных файлах без использования внешних инструментов или других языков, таких как VBScript.

Из VBScript вы можете получить доступ к текущей дате и времени с помощью функций Дата и Время . FormatDateTime предоставит вам не зависящий от языка и региональных параметров формат даты / времени, который затем можно будет проанализировать.

Вы можете получить результат из VBScript, используя WScript.Echo внутри скрипта и вызывая его так из пакета:

for /f "delims=" %%x in ('cscript /nologo foo.vbs') do set result=%%x

Затем переменная % result% содержит все, что VBScript имел в качестве вывода в своей первой строке.

1
ответ дан 6 December 2019 в 14:00
поделиться