Перейти к содержимому

Как узнать дату создания файла

  • автор:

Как узнать дату создания файла

Привет!
Есть обработка, которая подключается к почтовому ящику (объект ИнтернетПочта()), затем в письмах перебираются вложения:

Для Каждого Вложение Из Письмо.Вложения Цикл

Так вот, если внутри цикла написать так:
Вложение.Данные.Записать(«C:\MAIL\»+ Вложение.ИмяФайла);
тогда, файл будет записан текущим временем. Я бы хотел, если и записать файл текущем временем, то хотябы как-то получать значение его атрибута «Дата создания(или изменения)» (т.е. то время, которым файл был создан или изменен еще до отправки нам) и изпользовать его в имени сохраняемого файла. Подскажите, может кто-нибудь также с этим сталкивался?

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

Иногда вам может быть интересно узнать, когда файл был создан в системе Linux. В этом руководстве мы рассмотрим, как именно это сделать. Мы рассмотрим различные способы, с помощью которых можно узнать дату создания файла в системе Linux.

1. Проверить дату создания файла в Linux

Команда stat – это утилита командной строки, которая отображает подробную информацию о файле. Она выводит информацию, которая включает размер файла, UID (идентификатор пользователя), GID (идентификатор группы), доступ к файлу, время модификации и дату создания.

Чтобы проверить дату создания файла, просто выполните следующую команду, где sample1.txt – это имя файла

stat sample1.txt

В результате директива Birth показывает дату создания файла.

Чтобы уточнить дату создания файла, передайте -c %w аргументов, как показано на рисунке.

stat -c %w sample1.txt

Давайте внесем несколько изменений в файл, добавив содержимое с помощью команды echo.

echo "Some Text" >> sample1.txt

Просмотрев подробности файла, вы заметите, что поле Modify изменилось, указывая на то, что время модификации изменилось.

2. Отображение даты создания файла с помощью команды Debugfs

Другой способ проверки даты создания файла – это использование команды debugfs. Однако это многоэтапная операция и более сложная, чем команда stat.

Сначала нужно получить номер inode файла с помощью команды ls, показанной на рисунке.

ls -i sample1.txt

Далее, найдите раздел, в котором находится файл, с помощью команды df, показанной на рисунке

df ./sample1.txt

Наконец, выполните следующую команду debugfs, чтобы узнать дату создания файла.

sudo debugfs -R 'stat ' /dev/sda5

В поле crtime отображается время и дата создания файла.

Зарубин Иван Эксперт по Linux и Windows

Парашютист со стажем. Много читаю и слушаю подкасты. Люблю посиделки у костра, песни под гитару и приближающиеся дедлайны. Люблю путешествовать.

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

В системе Linux в свойствах файла файлового менеджера отображается только информация о дате последнего обращения к нему и дате изменения. Но вот дата создания там отсутствует. При этом иногда нужно посмотреть именно ее, например, чтобы узнать, с какого момента ведется запись лога. В этой инструкции расскажем, как посмотреть какие данные хранятся в файловых системах Linux и объясним, как узнать дату создания файла Linux . Будут упомянуты сразу же два удобных способа, каждый из которых со своими особенностями.

Дата создания файла

В стандарте POSIX прописаны только 3 вида временных меток, которые должна хранить файловая система:

  • atime – время последнего обращения к файлу.
  • mtime – время последнего изменения содержимого.
  • ctime – время последней модификации прав доступа или владельца.

Поэтому в старых файловых системах посмотреть информацию о дате создания файла зачастую невозможно. А вот в современных файловых системах (ext4, zfs, XFS и т. д.) она уже сохраняется.

Данные о дате создания записываются в специальном поле:

  • Ext4 – crtime
  • ZFS – crtime
  • XFS – crtime
  • Btrfs – otime
  • JFS – di_otime

Известно две методики просмотра этой информации: с помощью утилиты stat и debugfs. Однако первый метод подойдет пользователям не каждого дистрибутивов Linux. Второй способ – универсальный, но не такой простой в использовании. Разберемся с каждым из них по отдельности.

Используем Stat

Утилита stat выводит подробные сведения о файле. В том числе выводится дата создания файла Linux. Для ее запуска в терминале достаточно указать путь к файлу. Для примера посмотрим информацию про изображение pic_1.jpeg, хранящееся в каталоге /home/root-user/Pictures:

Необходимая информация записана в графе Создан. А с помощью опции -c получится задать определенные правила форматирования для вывода информации, например, оставив только нужную графу:

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

Но есть одна небольшая трудность. На некоторых дистрибутивах Linux при использовании утилиты stat это поле будет пустым.

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

Основная причина заключается в том, что выводимая информация отображается в в statx(2). Оболочка была добавлена в библиотеку glibc версии 2.28. То есть поддержка этой оболочки появилась в наборе базовых системных утилит GNU coreutils 8.31. Чтобы проверить версию, следует выполнить такую команду:

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

Следовательно, stat сможет выводить данные о создании файла только при наличии конкретных условий, которые были описаны выше. Например, в дистрибутиве Ubuntu 21.10 все работает без каких-либо проблем, а в Ubuntu 20.04 поле будет пустым.

Используем DebugFS

Утилита DebugFS не имеет ограничений по версии. Она будет работать всегда. Но и процедура использования у нее несколько более запутанная. Связано это с тем, что для просмотра даты создания файла через debugfs, нужно узнать номер его inode и файловую систему. Получить inode выйдет с помощью команды ls с опцией -i, указав путь к файлу:

$ ls -i /home/root-user/scripts/main_script.txt

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

Для просмотра файловой системы пригодится команда df:

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

Теперь все нужные данные собраны, и можно переходить к использованию утилиты debugfs. Ей нужно передать опцию -R, указать номер inode, а затем название файловой системы:

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

После этого в терминале вы сможете найти поле, в котором хранится дата создания. В нашем случае это crtime.

На этом инструкции завершена.

Получить дату создания файла

Господа, выручайте!
Как то можно получить дату создания файла? Нашел только ПолучитьВремяИзменения()
Заранее спасибо!

По теме из базы знаний

  • Импорт справочников из Инфо-Предприятие 1.91 в БП2.0/ЗУП2.5 (из файлов *.db или *.xls/*.xlsx)
  • Получение присоединенных файлов из внешнего тома
  • Программное создание корректировочного счета-фактуры выданного в УПП 1.3
  • Программное создание расширения
  • Групповое создание реализаций+счф на основании переданного списка с суммами. Номенклатура подбирается случайным образом на указанную сумму
  • Дата
  • Дата
  • Рейтинг всех уровней
  • Рейтинг 1-го уровня
  • Древо развёрнутое
  • Древо свернутое

Свернуть все
2. AllexSoft 15.02.16 14:49 Сейчас в теме
(1) Leits, какого файла? вы хоть уточните )
3. Leits 1 15.02.16 14:56 Сейчас в теме
(2) AllexSoft, который добавляю в хранилище значений)
5. unoDosTres 15.02.16 15:08 Сейчас в теме

например вот так

FSO = Новый COMОбъект("Scripting.FileSystemObject"); File = FSO.GetFile("c:\Program Files\1cv8\1cv8.exe"); Сообщить("Имя файла: "+File.Name); Сообщить("Тип файла: "+File.Type); Сообщить("Расположен на диске: "+File.Drive.Path); Сообщить("Родительская папка файла: "+File.ParentFolder.Name); Сообщить("Полный путь до файла: "+File.Path); Сообщить("Короткое имя файла: "+File.ShortName); Сообщить("Короткий путь до файла: "+File.ShortPath); Сообщить("Размер файла: "+Формат(File.Size,"Ч( )15.2")+" байт"); Сообщить("Дата создания файла: "+File.DateCreated); Сообщить("Дата последнего доступа к файлу: "+File.DateLastAccessed); Сообщить("Дата последнего изменения файла: "+File.DateLastModified);

Емельянов Алексей; user1671936; Aligator69; A7758735; tolyan_ekb; Designer1C; shiaju; Leits; AllexSoft; + 9 – Ответить

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

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