![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Как узнать расширение файла, если расширение было изменено ?
DmiSb © (2005-12-14 08:51:00)Сабж.
Заранее спасибо
Германн (2005-12-15 03:45:00) [1]Имхо, очередной пример тщетной борьбы АП за "грамотное изложение сабжа" и очередное непонимание форумчанами её сути. :(
Anatoly Podgoretsky (2005-12-14 21:09:00) [2]Но старое расширение узнать нельзя.
Alexander Panov (2005-12-14 20:47:00) [3]Anatoly Podgoretsky © (14.12.05 20:24) [15]
По вопросу, пусть было какое то из этих расширений txt, log, prn etc
Текстовые фалы тоже можно определить. Для этого надо проанализировать частоту появления #13#10 и процент наличия печатаемых символов.
Anatoly Podgoretsky (2005-12-14 20:24:00) [4]По вопросу, пусть было какое то из этих расширений txt, log, prn etc
то здесь никакие сигнатуры не помогут, как не помогут и для других, но для других можно узнать тип файла, но не старое расширение.
Alexander Panov (2005-12-14 19:52:00) [5]DmiSb (14.12.05 8:51)
DmiSb
Распознавать некую постоянную сигнатуру, свойственную файлам конкретного типа.
DmiSb (2005-12-14 10:45:00) [6]2 BiN
Примерно, понятно.
Спасибо
BiN (2005-12-14 10:43:00) [7]
> DmiSb (14.12.05 10:34) [11]
>
> 2 BiN
>
> >FAR определяет формат файла по сигнатуре.
>
> А это интересно как (хотя бы в общих чертах, примерно) ?
>
Насколько я знаю, распространенные алгоритмы сжатия данных и описание форматов файлов arg, rar, zip, cab и т.п. можно найти в сети.
Обычно подобные файлы содержат в начале заголовок с некоторым специфическим набором символов - сигнатурой, по которой предположительно определяется формат файла и соответсвенно алгоритм сжатия/открытия оного.
DmiSb (2005-12-14 10:34:00) [8]2 BiN
>FAR определяет формат файла по сигнатуре.
А это интересно как (хотя бы в общих чертах, примерно) ?
BiN (2005-12-14 10:22:00) [9]
> DmiSb (14.12.05 10:19) [9]
>
> А как тогда Far понимает, что у файла было расширение *.
> ARJ, и показывает содержимое архива, хотя текущее расширение
> файла стоит *.fax.
FAR определяет формат файла по сигнатуре.
DmiSb (2005-12-14 10:19:00) [10]А как тогда Far понимает, что у файла было расширение *.ARJ, и показывает содержимое архива, хотя текущее расширение файла стоит *.fax.
PAVIA (2005-12-14 10:18:00) [11]Просто так ты формат файла не узнаешь. Можно попробовать прочитать несколько первых байтов в файле. Там обычно в заголовке прописан формат файла.
BiN (2005-12-14 10:12:00) [12]Как вариант для отслеживания переименования файлов могу предложить использовать механизм журнала изменений NTFS. Если, конечно, овчинка стоит выделки.
Reindeer Moss Eater (2005-12-14 10:07:00) [13]Того файла уже нет.
Если перевести твой вопрос на нормальный язык, то получится:
"Как узнать расширение у файла, которого нет"
DmiSb (2005-12-14 10:04:00) [14]Я немного другое имел ввиду. Был файл предположим *.ARJ, ему поставили расширение, допустим *.DOC. ExtractFileExt возвращает ".DOC", а мне нужно чтобы вернуло "*.ARJ". Реально ли это ?
Reindeer Moss Eater (2005-12-14 09:49:00) [15]Или ты думаешь, что в понедельник одна функция, во вторник - другая?
Reindeer Moss Eater (2005-12-14 09:48:00) [16]ТО что было вначале этой же функцией определяется
DmiSb (2005-12-14 09:38:00) [17]2 Reindeer Moss Eater
ExtractFileExt, насколько я понял, просто из имени файла берет расширение от разделителя, и если расширение вручную поменять, то это расширение и покажет. А мне надо определить, что было в начале
Reindeer Moss Eater (2005-12-14 09:26:00) [18]ExtractFileExt