дата последнего изменения: 13.04.2010
метки: VBScript
Иногда бывает необходимо изменить дату файла. Чаще всего под датой файла подразумевается дата его изменения. Проблема в том, что в Windows нет встроенных средств для изменения даты файла.
Файлы с определенной датой изменения нужны, например, при тестировании скрипта резервного копирования с историей за несколько дней для проверки функции удаления устаревших архивов. При этом вариант с изменением системной даты и повторным созданием архива не удобен.
Дату файла можно изменить через VBScript, подходящий фрагмент кода есть на сайте aspfaq.com:
Sub Touch(FolderPath, FileName, NewDate)
Set app = CreateObject("Shell.Application")
Set folder = app.NameSpace(FolderPath)
Set file = folder.ParseName(FileName)
file.ModifyDate = NewDate
End Sub
Touch("C:\", "somefile.txt", "2012-01-01")
Достоинством такого способа является возможность массовой обработки большого количества файлов по каким-либо «хитрым» правилам. Достаточно написать скрипт, где организован цикл по файлам и подкаталогам заданного каталога и к каждому найденному файлу применяется функция Touch.
Для удобства работы к функции добавлен графический интерфейс в виде HTML-приложения. Фактически это HTML-страница с фрагментами кода CSS и JavaScript. Файл «открывается» в стандартном диалоге, части даты (день, месяц, год) задаются выбором из списков. Производится проверка правильности ввода и обработка возможных ошибок. Кнопкой «Сейчас» можно установить текущую дату и время. Есть всплывающие подсказки.
Снимок экрана — форма для указания даты и выбора файла:

HTML-приложение для изменения даты файла в Windows, формат HTA, упаковано в ZIP: change_file_date.zip
Утилита FileDate Changer позволяет задавать не только дату изменения (modified date), но и даты создания (created date) и открытия (accessed date) файла. Можно обработать сразу несколько файлов. Интерфейс на английском языке.
В известном файловом менеджере FAR Manager есть возможность изменения вместе с атрибутами файла дат его создания, изменения и открытия.
При использовании материалов сайта не забудьте добавить ссылку на первоисточник!
Есть замечания, предложения или пожелания? → Сообщите автору!
Павел Железнов
ИТ-специалист
Метки:
1С:Предприятие DOS J2ME JavaScript Thunderbird VBScript WMI Web-программирование Windows восстановление достижения железо загрузка инвентаризация разное резервное копирование
Страницы: