Как распечатать текущее время в пакетном файле?

Мне нужно напечатать время в пакетном файле, но в командной строке указано, что синтаксис неверен. Вот код, который у меня есть:

@echo %time%
ping -n 1 -w 1 127.0.0.1 1>nul
@echo %time%
pause
cls

Я не знаю, почему он не работает. Пожалуйста, помогите мне.

Ответ 1

Если вы используете команду

time /T

который напечатает время. (без /T, он попытается установить время)

date /T

похоже на дату.

Если командные расширения cmd включены (они включены по умолчанию, но в этом вопросе они, как представляется, отключены), тогда переменные среды %DATE% и %TIME% будут расширяться до текущей даты и времени каждый раз, когда они будут расширены. Используемый формат совпадает с используемыми командами DATE и TIME.

Чтобы увидеть другие динамические переменные среды, которые существуют, когда включены расширения команд, запустите set/? ,

Ответ 2

Это работает с Windows 10, 8.x, 7 и, возможно, еще дальше:

@echo Started: %date% %time%
.
.
.
@echo Completed: %date% %time%

Ответ 3

Не уверен, ответили ли на ваш вопрос.

Это напишет время и дату каждые 20 секунд в файле ping_ip.txt. Вторая в последней строке просто говорит, что запускает тот же пакетный файл снова, и агану, и снова,.......... и т.д.

Кажется, не создается несколько экземпляров, так что это хорошо.

@echo %time% %date% >>ping_ip.txt
ping -n 20 -w 3 127.0.0.1 >>ping_ip.txt
This_Batch_FileName.bat
cls