Visual Basic, .NET, ASP, VBScript
 

   
   
     

Форум - Общий форум

Страница: 1 | 2 |

 

  Вопрос: Как отличить ARJ архив от DOC документа Добавлено: 10.08.06 12:00  

Автор вопроса:  Sergey
Есть файлы например 10082006.01a, 4596587.5ak, 78954678.89u и тд. Но вот в чем суть одни это архивы ARJ а другие переименованный DOC (Word) документ так вот как можно отличить ARJ архив от DOC документа. Чтобы потом DOC документ переименовать в 4596587.5ak.doc
Заранее благодарен.

Ответить

  Ответы Всего ответов: 17  

Номер ответа: 1
Автор ответа:
 avdey



ICQ: 219571279 

Вопросов: 34
Ответов: 486
 Профиль | | #1 Добавлено: 10.08.06 12:04
Скорее всего по заголовку файла...

Ответить

Номер ответа: 2
Автор ответа:
 Sergey



Вопросов: 5
Ответов: 10
 Профиль | | #2 Добавлено: 10.08.06 12:13
Какому заголовку 10082006.01a может быть ARJ а на следущий день 10082006.01a придет переименованный DOC.

Ответить

Номер ответа: 3
Автор ответа:
 avdey



ICQ: 219571279 

Вопросов: 34
Ответов: 486
 Профиль | | #3 Добавлено: 10.08.06 12:17
Не по имени файла, а по ЗАГОЛОВКУ!!! Т.е. что внутри файла...

Ответить

Номер ответа: 4
Автор ответа:
 Sergey



Вопросов: 5
Ответов: 10
 Профиль | | #4 Добавлено: 10.08.06 12:51
УПС :) А если можно то немного поподробней что это такое и с чем кушать

Ответить

Номер ответа: 5
Автор ответа:
 avdey



ICQ: 219571279 

Вопросов: 34
Ответов: 486
 Профиль | | #5 Добавлено: 10.08.06 13:00
Открой Вордовский документ не в Ворде а в обычном Блокноте... там есть строки "Документ MicroSoft Word", "MSWordDoc", "W o r d D o c u m e n t" а так же настояшее название файла...

Ответить

Номер ответа: 6
Автор ответа:
 Bombardier



ICQ: 42305746 

Вопросов: 2
Ответов: 67
 Web-сайт: alexander.tsioka.ru
 Профиль | | #6
Добавлено: 10.08.06 13:39
открываешь файл для чтения и читаешь первые несколько байт, если они равны РП, то это DOC и.т.д


Sub CheckFile(MyFileName as String)
Dim FileSignature as String
  Open MyFileNаme For Binary As 1
    FileSignature = Space(3)
    Get #1, 569, FileSignature
  Close 1
  Select Case FileSignature
    Case ""  'Здесь сравниваешь с образцами трех первых байт
      'здесь выпоняешь действия в зависимости от типа файла
    Case ""
  End Select
End Sub

Ответить

Номер ответа: 7
Автор ответа:
 Bombardier



ICQ: 42305746 

Вопросов: 2
Ответов: 67
 Web-сайт: alexander.tsioka.ru
 Профиль | | #7
Добавлено: 10.08.06 13:41
сорри в коде должно быть
Get #1, 1, FileSignature
так как с первого байта читать )))

Ответить

Номер ответа: 8
Автор ответа:
 avdey



ICQ: 219571279 

Вопросов: 34
Ответов: 486
 Профиль | | #8 Добавлено: 10.08.06 13:52
РП

Интересно, "" че это за символ...

Ответить

Номер ответа: 9
Автор ответа:
 Bombardier



ICQ: 42305746 

Вопросов: 2
Ответов: 67
 Web-сайт: alexander.tsioka.ru
 Профиль | | #9
Добавлено: 10.08.06 13:56
возьми и прочитай ASCII коды для файлов, форматы которых ты заведомо знаешь
В том посте я написал то что ты видишь, когда открываешь файл блокнотом.

Ответить

Номер ответа: 10
Автор ответа:
 avdey



ICQ: 219571279 

Вопросов: 34
Ответов: 486
 Профиль | | #10 Добавлено: 10.08.06 14:02
РП, то это DOC

Так же РП, это XLS и все офисные файлы...
Хотя, если надо тупо отличить DOC от ARJ, то сработает...

Ответить

Номер ответа: 11
Автор ответа:
 Bombardier



ICQ: 42305746 

Вопросов: 2
Ответов: 67
 Web-сайт: alexander.tsioka.ru
 Профиль | | #11
Добавлено: 10.08.06 14:08
так поэтому и такое сравнение простое, а так да - РП это действительно просто сигнатура универсального контейнера, в который уже пакуется ворд, эксель итп

Ответить

Номер ответа: 12
Автор ответа:
 CyRax



Разработчик Offline Client

ICQ: 204447456 

Вопросов: 180
Ответов: 4229
 Web-сайт: basicproduction.nm.ru
 Профиль | | #12
Добавлено: 10.08.06 14:24
Вообще-то хранилище распознаётся по первым четырём байтам: &HE011CFD0 (если считывать Long'ом). Следующие 4 байта - это версия OLE, ну а дальше уже описания каталогов и потоков данных.

Ответить

Номер ответа: 13
Автор ответа:
 Bombardier



ICQ: 42305746 

Вопросов: 2
Ответов: 67
 Web-сайт: alexander.tsioka.ru
 Профиль | | #13
Добавлено: 10.08.06 14:27
2CyRax мы говорили о том, что можно глазами посмотреть, а не с точки зрения кода, дабы Sergey-у было проще понять о чем идет речь

Ответить

Номер ответа: 14
Автор ответа:
 CyRax



Разработчик Offline Client

ICQ: 204447456 

Вопросов: 180
Ответов: 4229
 Web-сайт: basicproduction.nm.ru
 Профиль | | #14
Добавлено: 10.08.06 14:34
Ну HEX-вьювером просмотри (например из FAR) первые 4 байта: D0 CF 11 E0

Ответить

Номер ответа: 15
Автор ответа:
 CyRax



Разработчик Offline Client

ICQ: 204447456 

Вопросов: 180
Ответов: 4229
 Web-сайт: basicproduction.nm.ru
 Профиль | | #15
Добавлено: 10.08.06 14:47
возьми и прочитай ASCII коды для файлов, форматы которых ты заведомо знаешь
В том посте я написал то что ты видишь, когда открываешь файл блокнотом.

 Не советую открывать двоичные файлы блокнотом - он для этого не предназначен.

Ответить

Страница: 1 | 2 |

Поиск по форуму



© Copyright 2002-2011 VBNet.RU | Пишите нам