Мне было интересно, используя эту команду dos
for %a in (MyFile.txt) do set FileDate=%~ta
Есть ли способ иметь полную дату со дня до второго?
РЕДАКТИРОВАТЬ:
А пока я получаю:
set FileDate=04/08/2011 15:37
Я хочу:
set FileDate=04/08/2011 15:37:04
Вывод% ~ tX использует сокращенный формат, как определено в ваших региональных настройках. К сожалению, краткий формат никогда не может включать секунды (по крайней мере, в Win7, не уверен в других версиях Windows).
Насколько я знаю, нет возможности делать то, что вы хотите, используя только команды cmd-скрипта. Вам понадобится дополнительная утилита, которая извлекает полную информацию о дате и времени из файловой системы.
Во-первых: это не «команда DOS». DOS не имеет к этому никакого отношения и вообще не участвует. Это встроенный FOR
команда CMD
, Интерпретатор команд Microsoft по умолчанию, который входит в состав Windows NT. В FOR
команда в Microsoft COMMAND
, его командный интерпретатор для DOS, не имеет такой функциональности, не в последнюю очередь потому, что DOS не имеет понятия о временных метках создания файлов.
Во-вторых: как встроенный интерпретатор команд, такого рода вещи зависят от того, какой интерпретатор команд фактически используется в первую очередь. То, что вы хотите, очень легко достичь с помощью Интерпретатор команд JP Software TCC, например:
[C:\]echo %@filedate[config.sys,c,4] %@filetime[config.sys,c,s]
2008-11-07 18:11:38
[C:\]