Перейти на главную страничку сайта (список статей, файлы для скачивания)

ФОРУМ (здесь можно обсудить эту статью, а также саму программу AutoHotkey и проблемы её использования)

Проект перевода документации AutoHotkey: перечень переведённых статей и статей в работе.

Оригинал статьи в AutoHotkey.chm: "FileSetTime", в содержании - "File, Directory and Disk Management" - "FileSetTime", v1.0.46.14.

Ник переводчика: YMP.

Настоящее имя переводчика: Юрий Попов.

FileSetTime

Изменяет отметку даты и времени одного или нескольких файлов или папок. Поддерживаются шаблоны.

FileSetTime [, YYYYMMDDHH24MISS, FilePattern, WhichTime, OperateOnFolders?, Recurse?]

Параметры

YYYYMMDDHH24MISS Если параметр пустой или опущен, он принимает значение текущего времени. Иначе укажите, какое время использовать (формат смотрите в примечаниях). Годы до 1601 не поддерживаются.
FilePattern Имя файла или папки, либо шаблон, такой как C:\Temp\*.tmp. Если не задан полный путь, FilePattern ищется в папке, указанной в переменной A_WorkingDir.

Если параметр опущен, используется текущий файл файлового цикла, внутри которого применяется команда.
WhichTime Какую именно отметку времени изменить.
М = время изменения (это значение по умолчанию, если параметр пустой или опущен)
С = время создания
А = время последнего доступа
OperateOnFolders? Действует ли команда на папки (может быть выражением).

0 (по умолчанию): команда на папки не действует (только на файлы).
1: команда действует на все файлы и папки, которые отвечают шаблону.
2: команда действует только на папки (не на файлы).

Замечание: если FilePattern - одиночная папка (не шаблон), команда всегда будет на неё действовать, независимо от этого параметра.
Recurse? Рекурсия.

0 (по умолчанию): рекурсия в подпапки не производится.

1: рекурсия в подпапки производится, и все папки и файлы в них, совпадающие с FilePattern, подвергаются воздействию команды. Рекурсия производится во все подпапки, не только в те, которые совпадают с FilePattern. Однако файлы и папки, чей полный путь длиннее 259 символов, игнорируются, как если бы они не существовали. Такие файлы - редкость, поскольку операционная система, в норме, не позволяет их создавать.

ErrorLevel

Равен числу файлов, которые не удалось изменить, иначе равен 0. Если указанная отметка времени некорректна или FilePattern разрешается в пустую величину, ErrorLevel устанавливается в 1.

Примечания

В Windows 95/98/ME изменение отметки времени папок не поддерживается. Попытки сделать это игнорируются.

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

Элементы формата YYYYMMDDHH24MISS:


YYYYГод, 4 цифры
MMМесяц, 2 цифры (01-12)
DDДень месяца, 2 цифры (01-31)
HH24Час в 24-часовом формате, 2 цифры (00-23).
MIМинуты, 2 цифры (00-59)
SSСекунды, 2 цифры (00-59)

Если YYYYMMDDHH24MISS задан лишь частично (например, как 200403), все опущенные элементы принимают следующие умолчательные значения:

MM: месяц 01
DD: день 01
HH24: час 00
MI: минута 00
SS: секунда 00

Встроенная переменная A_Now содержит текущее местное время в вышеуказанном формате. Аналогично, A_NowUTC содержит текущее время UTC (Coordinated Universal Time).

Замечание: величины даты и времени могут сравниваться, складываться или вычитаться посредством команд EnvAdd и EnvSub. Также, лучше всего не использовать операторы "больше" и "меньше" для сравнения времён, разве только они оба выражены строками одинаковой длины. Причина в том, что они будут сравниваться как числа; например, 20040201 всегда будет меньше как число (но больше как время), чем 200401010533. Так что вместо этого используйте EnvSub, чтобы определить положительна или отрицательна разница между ними.

Примеры

; Установить время изменения равным текущему для всех совпадающих файлов:
FileSetTime, , C:\temp\*.txt

; Установить дату изменения (время будет полночь):
FileSetTime, 20040122, C:\My Documents\test.doc

; Установить дату создания. Время будет 4:55 дня:
FileSetTime, 200401221655, C:\My Documents\test.doc, C

; Изменить дату модификации для всех файлов, которые отвечают шаблону.
; Все совпадающие папки также будут изменены, в силу последнего параметра:
FileSetTime, 20040122165500, C:\Temp\*.*, M, 1

Перейти на главную страничку сайта (список статей, файлы для скачивания)

© 2007 http://www.script-coding.com При любом использовании материалов сайта обязательна ссылка на него как на источник информации, а также сохранение целостности и авторства материалов.