|
Как просканировать папку с архивами?
|
|||
---|---|---|---|
#18+
Добрый день! Поставили задачу - Нужно просканировать каталог с файлами: Если это обычный файл, то скопировать его в папку с именем этого файла, если это архив, то распаковать в папку с именем архива, просмотреть эту папку на наличие ещё архивов и если они там есть, опять же распаковать и их, и т.д. На сегодняшний день максимальная вложенность архивав равна 3. Распаковку необходимо вести с помощью WinRAR. Подскажите, как лучше решить эту задачу? ... |
|||
:
Нравится:
Не нравится:
|
|||
13.01.2012, 17:26 |
|
Как просканировать папку с архивами?
|
|||
---|---|---|---|
#18+
adir() ... |
|||
:
Нравится:
Не нравится:
|
|||
13.01.2012, 17:38 |
|
Как просканировать папку с архивами?
|
|||
---|---|---|---|
#18+
... |
|||
:
Нравится:
Не нравится:
|
|||
13.01.2012, 18:21 |
|
Как просканировать папку с архивами?
|
|||
---|---|---|---|
#18+
Dag заполнение Adir из подпапок Меня больше интересует - как определить является ли файл архивом и как в таком случае использовать WinRAR? ... |
|||
:
Нравится:
Не нравится:
|
|||
13.01.2012, 19:09 |
|
Как просканировать папку с архивами?
|
|||
---|---|---|---|
#18+
Макс_Пкак определить является ли файл архивомчем-либоЛибо по расширению, либо по сигнатуре. Касательно второго - гугел в помощь, это уже не совсем по фоксу вопрос. ... |
|||
:
Нравится:
Не нравится:
|
|||
13.01.2012, 19:50 |
|
Как просканировать папку с архивами?
|
|||
---|---|---|---|
#18+
tanglirлибо по сигнатуре. Попробовал, нормально. А сигнатура ZIP-архива совпадает с сигнатурой WORD 2010... :) ... |
|||
:
Нравится:
Не нравится:
|
|||
16.01.2012, 21:21 |
|
Как просканировать папку с архивами?
|
|||
---|---|---|---|
#18+
Макс_Пtanglirлибо по сигнатуре. Попробовал, нормально. А сигнатура ZIP-архива совпадает с сигнатурой WORD 2010... :)потому что (внезапно) это и есть зип-архив, только с другим расширением и определённым набором объектов внутри :) ... |
|||
:
Нравится:
Не нравится:
|
|||
16.01.2012, 21:24 |
|
Как просканировать папку с архивами?
|
|||
---|---|---|---|
#18+
tanglirпотому что (внезапно) это и есть зип-архив, только с другим расширением и определённым набором объектов внутри :) И как же программно его открыть Word-ом, а не распаковывать архиватором если расширение может быть любым? ... |
|||
:
Нравится:
Не нравится:
|
|||
16.01.2012, 21:38 |
|
Как просканировать папку с архивами?
|
|||
---|---|---|---|
#18+
Макс_П, посмотреть, что внутри - если там структура директорий/файлов похожа на то, что находится внутри документа ворд2010 - открывать как ворд. Но опять же - при чём тут фокс? PS. А что, у вас там много извращенцев, которых хлебом не корми, дай поменять расширение? ... |
|||
:
Нравится:
Не нравится:
|
|||
16.01.2012, 21:56 |
|
Как просканировать папку с архивами?
|
|||
---|---|---|---|
#18+
Макс_Пtanglirлибо по сигнатуре. Попробовал, нормально. А сигнатура ZIP-архива совпадает с сигнатурой WORD 2010... :)Ибо его файлы и есть архивы. Это не совпадение сигнатур, это и есть архивы, только такие, которые не надо распаковывать. Но, вроде бы, речь шла про RAR? Или им все будем распаковывать? ... |
|||
:
Нравится:
Не нравится:
|
|||
16.01.2012, 22:10 |
|
Как просканировать папку с архивами?
|
|||
---|---|---|---|
#18+
tanglirА что, у вас там много извращенцев, которых хлебом не корми, дай поменять расширение? Это бланки, в их расширении содержится признак документа. ... |
|||
:
Нравится:
Не нравится:
|
|||
17.01.2012, 11:33 |
|
Как просканировать папку с архивами?
|
|||
---|---|---|---|
#18+
Sergey SizovНо, вроде бы, речь шла про RAR? Или им все будем распаковывать? Файл может быть либо документом, либо архивом внутри которого содержатся несколько документов. Если это один файл, то его нужно будет открыть соответствующей программой, а если это архив, то его сначала распаковать, а затем уже открывать. ... |
|||
:
Нравится:
Не нравится:
|
|||
17.01.2012, 11:57 |
|
Как просканировать папку с архивами?
|
|||
---|---|---|---|
#18+
Макс_П, Много букав и все не по делу. Что конкретно не получается? Не можешь определить как файл открывать? ... |
|||
:
Нравится:
Не нравится:
|
|||
17.01.2012, 12:21 |
|
Как просканировать папку с архивами?
|
|||
---|---|---|---|
#18+
Макс_ПtanglirА что, у вас там много извращенцев, которых хлебом не корми, дай поменять расширение? Это бланки, в их расширении содержится признак документа.если у вас есть расширения, зачем городить огород с сигнатурами? ... |
|||
:
Нравится:
Не нравится:
|
|||
17.01.2012, 14:33 |
|
Как просканировать папку с архивами?
|
|||
---|---|---|---|
#18+
tanglir, Dima T Ещё раз!!! В каталоге есть файлы - обычные и архивы. Название файлов могут быть разные (например -> ZT4452.D18). Мне нужно осуществить поиск в каждом файле этого каталога. Так как они могут быть doc, rtf, xls и др., я буду открывать их каждый своей программой и там, выполняя макросы в FoxPro, осуществлять поиск. Если это архив, я сначала должен его распаковать и затем делать поиск. ... |
|||
:
Нравится:
Не нравится:
|
|||
17.01.2012, 15:36 |
|
Как просканировать папку с архивами?
|
|||
---|---|---|---|
#18+
Макс_П, алко-ритм: Код: plaintext 1. 2. 3. 4. 5. 6. 7.
Устроит? ... |
|||
:
Нравится:
Не нравится:
|
|||
17.01.2012, 15:50 |
|
Как просканировать папку с архивами?
|
|||
---|---|---|---|
#18+
Макс_Пtanglir, Dima T Ещё раз!!! В каталоге есть файлы - обычные и архивы. Название файлов могут быть разные (например -> ZT4452.D18). Мне нужно осуществить поиск в каждом файле этого каталога. Так как они могут быть doc, rtf, xls и др., я буду открывать их каждый своей программой и там, выполняя макросы в FoxPro, осуществлять поиск. Если это архив, я сначала должен его распаковать и затем делать поиск. Хранилище этих файлов откуда-то взялось? Как-то это сейчас работает? Не верю что сначала тупо генерится имя, а потом всякой эвристикой надо определить исходный формат. Тут либо проектировщик той системы идиот, либо ты что-то недоговариваешь или недопонимаешь. Определить формат файла достаточно сложно по содержимому. Надо писать анализатор файла который должен учитывать особенности анализируемых форматов. Архивы можно определить т.к. начинаются с конкретной сигнатуры. Берешь первые несколько байт файла и определяешь: RAR - "Rar!" ZIP - "PK" Только есть извращенные форматы: DOCX это XML документ в ZIP архиве. Начинается с "PK", не имея расширения по простому их не отличить от ZIP-архива. В общих словах я тебе написал, если надо конкретные ответы с кодом - задавай более конкретные вопросы. ... |
|||
:
Нравится:
Не нравится:
|
|||
17.01.2012, 16:40 |
|
Как просканировать папку с архивами?
|
|||
---|---|---|---|
#18+
Задача сводится к юзанью функции ADIR() Распаковать можно при помощи RAR.EXE для DOS. Далее разбор папок и файлов снова при помощи ADIR(). Но надо как то контролировать ожидание окончания чтобы RAR отработал полностью. Можно попробовать слепить проверку запущенного процесса. Если RAR запущен то ожидать. А ещё лучше решить задачу организационно, чтобы не делать мартышкин труд, можно с начальством перетереть и задача упростится :) ... |
|||
:
Нравится:
Не нравится:
|
|||
23.01.2012, 01:11 |
|
Как просканировать папку с архивами?
|
|||
---|---|---|---|
#18+
Питон33, С ADIR()-ом проблем нет, сейчас разбираюсь с сигнатурами. Найти нормальную информацию по этому поводу в Net-е оказывается не так просто. К тому же сигнатуры Word и Excel тоже одинаковые. ... |
|||
:
Нравится:
Не нравится:
|
|||
23.01.2012, 12:32 |
|
Как просканировать папку с архивами?
|
|||
---|---|---|---|
#18+
> Автор: Макс_П > К тому же сигнатуры Word и Excel тоже одинаковые. И совпадают с зипом Напоминаю: Начиная с 2007 офиса файлы ворда и екселя(не знаю за остальные офисные приложения) представляют собой _АРХИВ_ с внутренней структурой. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
23.01.2012, 12:44 |
|
Как просканировать папку с архивами?
|
|||
---|---|---|---|
#18+
Подскажите, как избежать мелькание doc-окна при вызове внешней программы архиватора? ... |
|||
:
Нравится:
Не нравится:
|
|||
24.01.2012, 15:05 |
|
Как просканировать папку с архивами?
|
|||
---|---|---|---|
#18+
Макс_П, А как вызываешь? ... |
|||
:
Нравится:
Не нравится:
|
|||
24.01.2012, 15:09 |
|
Как просканировать папку с архивами?
|
|||
---|---|---|---|
#18+
IgorNGМакс_П, А как вызываешь? ! C:\Progra~1\WinRAR\WinRAR.exe x -r -y &q1 &q2 ... |
|||
:
Нравится:
Не нравится:
|
|||
24.01.2012, 15:15 |
|
Как просканировать папку с архивами?
|
|||
---|---|---|---|
#18+
Макс_П, Попробуй своё подставить a = ALLTRIM(namefile) WshShell = CREATEOBJECT("WScript.Shell") lcCommand = "&PathForm\SCANER\mspview.exe '&a'" *!* Первый параметр - запускаемая программа (командная строка, если надо) *!* Второй - 0 - скрытое окно, 5 - нормальное окно, 2,3,6 и т.д. *!* Третий = .T. - ожидание завершения, .F. - не ждет завершения WshShell.RUN(lcCommand, 5, .F.) ... |
|||
:
Нравится:
Не нравится:
|
|||
24.01.2012, 15:22 |
|
|
start [/forum/topic.php?fid=41&msg=37617633&tid=1583870]: |
0ms |
get settings: |
10ms |
get forum list: |
17ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
41ms |
get topic data: |
13ms |
get forum data: |
3ms |
get page messages: |
70ms |
get tp. blocked users: |
2ms |
others: | 257ms |
total: | 421ms |
0 / 0 |