metatrop
Member | Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору fizika90 Список файлов по времени или по любым другим критериям сформировать нетрудно (в dir можно добавить маску и т.п.): Код: dir /a-d /b /s|cpcvt -q -id -oa "<" ">"|miniperl -p -e "s/\r?\n$//; $_ = time() - (stat $_)[9] < 24*60*60 ? qq($_\n) : ''" >list.tmp | Тут нужны два .exe файла, ищутся гуглом: cpcvt.exe (ок. 10 КБ, если нет русских имён файлов, то можно обойтись без него) и miniperl.exe (ок. 640 КБ) Но 7zip, традиционно для себя, страдает негибкими, плохо продуманными, слабыми по возможностям опциями командной строки (нет даже аналога опции -ap в RAR и ARC). Если ему получившийся список передать Код: 7z a -mx9 -scsWIN myarchive @list.tmp | то 7zip, оказывается, кидает файлы в одну кучу, без имён директорий. Помогает опция -spf, но тогда в маршруты добавляется буква диска! Должен же быть способ это сделать с маршрутом и без буквы диска... Самые продуманные опции, корректно работающие для различных нетривиальных случаев, сделаны в RAR.exe. В ARC.exe (FreeArc) опции на первый взгляд не хуже, или даже лучше, чем в RAR, но реализованы они кое-как, в нетривиальных случаях обычно не удаётся добиться желаемого/ожидаемого поведения, и приходится использовать RAR (была ситуация, когда RAR сжимал в 20 МБ, а FreeArc в 9 МБ, но приходилось использовать RAR, потому что только он оказался способным выполнять довольно хитрые избирательные извлечения из этого архива). P.S. Избавиться от буквы диска помогает опция -spf2 , о существовании которой, конечно же, невозможно узнать из 7z --help, а нужно читать .chm файл, который лежит только в резервном архиве (для практического использования нужны только 7z.exe и 7z.dll). | Всего записей: 313 | Зарегистр. 17-09-2010 | Отправлено: 02:11 08-05-2017 | Исправлено: metatrop, 02:56 08-05-2017 |
|