Войти

Показать полную графическую версию : [решено] Сортировка файлов с учетом содержимого


Grammaton Cleric
15-11-2011, 18:05
Доброго времени суток всем. Помогите пожалуйста.
Каждый день есть кучка файлов с именами вида
67612301.01F
67612401.08F
67612525.08F
То есть первые 3 цифры в именах всегда 676, потом идут 3 цифры, которые для каждого файла свои, но каждый день они повторяются, последние 4 - это что-то типа порядкового номера, буква в конце всегда F.
То есть если смотреть несколько дней для указанных файлов, то они выглядят так
1 день: 67612301.01F, 67612401.08F, 67612525.08F
2 день: 67612301.02F, 67612401.09F, 67612525.09F
3 день: 67612301.03F, 67612401.10F, 67612525.10F
20 день: 67612301.21F, 67612401.28F, 67612525.28F
100-ый день: 67612302.01F, 67612402.08F, 67612526.08F
примерно так.
Каждый такой файл - это либо текстовик с динамичным расширением, либо архив ZIP, в котором хранится тот самый текстовик с таким-же именем. Если это архив, то из него распаковывают текстовик, и заменяют им архив. То есть папка с файлами, после распаковки, выглядит как и раньше, только некоторые файлы были архивами, а стали текстовиками. Сохранение имен файлов критично.
Вот собственно с чем ко мне обратилась подруга, которая этим занимается - надо батником найти в папке ZIP архивы, и отложить их во вложенную папку...
То есть если куча лежала в папке C:\1\ , то надо все ZIP из нее переложить в папку C:\1\zip\
Что я смог для нее сделать, на основе своих знаний, а их прямо скажем мало, так это батник с такой строкой:
"C:\Program Files\GnuWin32\bin\gsar.exe" -sFPK -F \q\ 676?????.??F
он с помощью утилитки gsar ищет сигнатуру ZIP, и выдает список файлов, в которых она присутствует. Как дальше этими файлами оперировать я не знаю - получается, что по этому списку ей приходится файлы сортировать вручную (их каждый день от 60 до 100).
В помощь могу сказать, что эти символы "FPK" в данных файлах есть только в архивах (встречаются ближе к концу файла), в текстовиках их быть не может.
С пакетной распаковкой проблем нет. Есть проблема с перемещением ZIP-ов. Проверять файлы можно по первым 2-ум символам - в ZIP файлах они всегда PK (это их сигнатура)
Фуух... Надеюсь подробно описал...

Grammaton Cleric
16-11-2011, 08:43
Извиняюсь за беспокойство... Решил проблему гораздо проще...
copy 676?????.??F .\zip\676?????.??F.zip
cd .\zip
"C:\Program Files\WinRAR\winrar.exe" E -INUL 676?????.??F.zip *.??f
cd .\..
del .\zip\*.??F.zip
move /Y .\zip\676?????.??F .\676?????.??F




© OSzone.net 2001-2012