Как узнать размер и дату файла из командной строки

Супер мини статья 🙂

Простейший способ получить размер файла из командной строки Windows:

for %I in (file.ext) do echo %~zI

из хелпа по команде For в Cmd:


%~zI - переменная %I расширяется до размера файла

Аналогично для даты (модификации) файла:

for %I in (file.ext) do echo %~tI

из хелпа по команде For в Cmd:


%~tI - переменная %I расширяется до даты /времени файла

А вообще команда for /? очень полезная.

Как узнать размер и дату файла из командной строки: 12 комментариев

  1. Добрый день
    На команду:
    for %i in (1.txt) do echo %~ti

    Windows XP3 сообщает:

    ~ti was unexpected at this time.

    Подскажите пожалуйста, что в команде указанно не верно.

    Заранее благодарен.

  2. Не из пакетного файла это вообще не будет работать.
    А в пакетном файле к переменным внутри FOR добавляется еще один %

    for %%i in (1.txt) do echo %%~ti

  3. Добрый день!
    Помогите, пожалуйста.
    Задача такая, нужно выбрать из каталога файлы *.log с сегодняшней датой и пробежаться по ним командой find….

  4. А не подскажете решение для такой задачки? Нужно сравнить два файла и заменить более старый более новым (проще говоря, выполнить обновление). Проблема в том, что сравнение дат как строк дает неверный результат для случая, скажем: «06.10.2011» будет меньше «07.09.2011» (6 октября меньше 7 сентября).

    Заранее спасибо.

  5. @ Гость:
    Т.к. универсальный метод работы с датами из командной строки Windows сделать довольно-таки проблематично из-за различных региональных настроек, я бы сделал так: скопировал оба файла под разными именами (естественно) в одну папку, отсортировал по дате, удалил самый старый, оставшийся перенес куда надо под нужным именем. Это всё алгоритм, естественно, для выполнения из cmd/bat файла.
    Чуть позже будет статья как удалять самые старые файлы, что-то подобной этой статье, но под Windows

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *