Страница 5 из 36

Добавлено: Пт дек 26, 2014 12:42
Flasher
Iori
В принципе, это нормально, т.к. это всего лишь оболочка к 7z.exe. Единственное, там могут быть какие-то доп. процедуры добавлены типа тех, что вызывают конфуз.
Ладно, возьмём на заметку.

Добавлено: Пн дек 29, 2014 18:03
Flasher
Nick писал(а):Распаковать все выделенные архивы через WinRAR в активную панель.
С платниками не люблю возиться. Не вижу смысла при наличии более насыщенной 7-zip.
Nick писал(а):Опционально:
Если архив уже содержит внутри такое же название папки как и самого архива, то применить распаковку в текущую папку, если нет – распаковать в папку с именем архива. Т.е. какая-то проверка еще до разархивирования.
(Но этот вариант, наверно сложнее и возможно дольше будет выполняться.)
Не сложнее и уж точно не дольше, а быстрее.
Только вот далеко не всегда имя архива информативнее названия файла или папки, в нём содержащейся. Как тут быть? Можно по числу символов сравнивать, например.

Добавлено: Пн дек 29, 2014 19:11
Nick
Flasher писал(а):С платниками не люблю возиться. Не вижу смысла при наличии более насыщенной 7-zip.
Имеется ввиду в плане разархивирования?
При наличии больших архивов и больших объемов данных думаю, что со своим форматом WinRAR справится быстрее.
Flasher писал(а):Только вот далеко не всегда имя архива информативнее названия файла или папки, в нём содержащейся.
Это верно, но зато сразу видно из какого архива было распаковано, а также, если внутри множество одиночных файлов (без папок), то они все не будут разбросаны в текущую папку.
Flasher писал(а):Как тут быть? Можно по числу символов сравнивать, например.
Такое нельзя, т.к. количество символов может быть одинаковое (эта опция нужна только для самой верхней папки). Поэтому - наверно только посимвольное сравнение. Т.е. просто, чтобы не было двух одинаковых папок в самом верху.
Желательно, чтобы была возможность отключить эту опцию.

Добавлено: Пн дек 29, 2014 19:24
Flasher
Nick писал(а):если нет – распаковать в папку с именем архива
Но тогда лучше просто переименовывать папку на архивное имя (либо склеивать оба). Зачем оставлять матрёшку?
Nick писал(а):Имеется ввиду в плане разархивирования?
При наличии больших архивов и больших объемов данных думаю, что со своим форматом WinRAR справится быстрее.
В плане кол-ва поддерживаемых форматов. А то, что справится быстрее, - не факт.
Nick писал(а):Это верно, но зато сразу видно из какого архива было распаковано
А если архив уже удалён?
Nick писал(а):если внутри множество одиночных файлов (без папок), то они все не будут разбросаны в текущую папку
Так было давно, ещё начиная со второго варианта. А вообще под одиночным может пониматься только 1 файл в папке.
Nick писал(а):Такое нельзя, т.к. количество символов может быть одинаковое
А сперва и будет проверятся название, а уже потом число символов после несовпадения.
Nick писал(а):Т.е. просто, чтобы не было двух одинаковых папок в самом верху.
Если архивы с одним базовым именем, то папка одна будет. В распаковщиках нет инструмента автопереименования родительских папок, т.к. это всего лишь часть полного имени файла.
И как с одиночным файлом быть? Оставить как в 3 параметре или тоже исходить из имени?

Добавлено: Пн дек 29, 2014 21:59
Nick
Flasher писал(а):Но тогда лучше просто переименовывать папку на архивное имя (либо склеивать оба). Зачем оставлять матрёшку?
Если использовать переименование, то тогда потеряется название первой папки внутри архива. Это необходимо, например, если разархивируются какие-то программы, где важны названия папок и структура. Т.е. так более универсально.

Например:
Архив.rar/Папка в архиве (1)\Папка в архиве (2)\file.exe
В этом случае распаковать содержимое в папку «Архив».

Если архив такой:
Новая папка (1).rar/Новая папка (1)\Новая папка (2)\file.exe
То, тогда распаковать в текущий каталог.



Flasher писал(а):А то, что справится быстрее, - не факт.
Тогда не особо важно.

Flasher писал(а):А если архив уже удалён?
Тогда сохранится название папки (а значит и архив назывался также).


Flasher писал(а):Так было давно, ещё начиная со второго варианта.
Имеется ввиду 2-ой вариант скрипта?


Flasher писал(а):А сперва и будет проверятся название, а уже потом число символов после несовпадения.
Но, ведь достаточно до первого несовпадения, а дальше можно уже не проверять. Так будет быстрее.

Flasher писал(а):Если архивы с одним базовым именем, то папка одна будет.
Это, как я понимаю случай, когда в одной папке архивы с одинаковыми именами, но разных форматов. Тогда, наверно логично добавить что-то в имя папки.

Например:
Новая папка.rar
Новая папка.7z

Тогда названия папок будут:
Новая папка_rar
Новая папка_7z


Flasher писал(а):В распаковщиках нет инструмента автопереименования родительских папок, т.к. это всего лишь часть полного имени файла.
Имеется ввиду полного пути к файлу?
Flasher писал(а):И как с одиночным файлом быть?
С одиночными файлами, то тогда папка по названию архива.
Flasher писал(а):Оставить как в 3 параметре ?
Имеется ввиду этот параметр (<флаг удаления распакованных архивов: 1>)?
Архив лучше не удалять.
Flasher писал(а):или тоже исходить из имени
Т.е. имеестя ввиду, если на самом верху одиночный файл, то тогда создавать или нет по его имени папку? Если это, то, лучше создавать.

Добавлено: Пн дек 29, 2014 22:23
Flasher
Ой, зачем такие отступы... Изображение
Nick писал(а):Если использовать переименование, то тогда потеряется название первой папки внутри архива.
Тогда вариант в скобках? Ибо матрёшка - плохой вариант.
Nick писал(а):Имеется ввиду 2-ой вариант скрипта?
Да. Начиная.
Nick писал(а):Но, ведь достаточно до первого несовпадения, а дальше можно уже не проверять. Так будет быстрее.
А как тут может быть второе? :D Тут проверяется имя архива с именем одиночной папки. Всё. Если не совпали, то берём имя с большим числом символов.
Nick писал(а):Тогда, наверно логично добавить что-то в имя папки.
Я же пишу, что нельзя.
Nick писал(а):Имеется ввиду полного пути к файлу?
Полное имя - это путь + имя.
Nick писал(а):С одиночными файлами, то тогда папка по названию архива.
Для этого достаточно не использовать 3 параметр.
Nick писал(а):Имеется ввиду этот параметр (<флаг удаления распакованных архивов: 1>)?
Вообще-то этот 5-й. В шапке не видно?
Nick писал(а):Т.е. имеестя ввиду, если на самом верху одиночный файл, то тогда создавать или нет по его имени папку?
Нет. Переименовать файл по имени архива или подклеить к имени.

Добавлено: Вт дек 30, 2014 14:29
Nick
Flasher писал(а):Ой, зачем такие отступы... Изображение
Думал, может лучше видно будет :wink:.
Flasher писал(а):Тогда вариант в скобках? Ибо матрёшка - плохой вариант.
Возможно ли сделать так:
Если название архива совпадает с названием папки в архиве и если эта папка одна, то распаковать в текущую папку. Если нет - то распаковать по имени архива.
Например: Новый архив.rar/Архивная папка\... - Тогда в папку Новый архив.
Если одинаковые, то оставить одну.
Например: Новая папка.rar/Новая папка\... - Распаковать в текущий каталог (чтобы была только одна папка).
Но, если есть файл в архиве (на самом верху), то распаковать по имени архива.
Например: Новый архив.rar/file.txt и здесь же папка "Новый архив", то тогда все равно распаковать в папку "Новый архив".
Просто, это все приходится делать вручную, что при частой работе с архивами, очень неудобно (в том, числе проверять и перемещать все выше при дублировании одинаковых папок).
Flasher писал(а):Вообще-то этот 5-й. В шапке не видно?
Просто, смотрел на другой скрипт.
Flasher писал(а):Переименовать файл по имени архива или подклеить к имени.
Если внутри архива один файл, то тогда разархивировать в папку по имени архива (это желательно, опционально).

Добавлено: Вт дек 30, 2014 15:59
Flasher
Мда.. Мы ходим вокруг да около.
Я предлагаю склейку имён при несовпадении вместо матрёшки. Сейчас этот вариант обсуждаем.
С файлом и так всё работает опционально.

Добавлено: Вт дек 30, 2014 17:04
Nick
Flasher писал(а):Я предлагаю склейку имён при несовпадении вместо матрёшки.
Просто в этом случае, сложнее будет перепаковать папки с тем названием архива, которое было. (необходимо будет вручную переименовывать, а при большом количестве таких папок - довольно проблемно). Поэтому лучше все же "матрёшка". :wink:

Добавлено: Вт дек 30, 2014 17:42
Flasher
ОК. Поправил.
Add: кое-что важное изменил в одной строке.

Добавлено: Вт дек 30, 2014 21:38
Nick
Вроде, работает. Большое спасибо и с наступающим новым годом!

Добавлено: Вт дек 30, 2014 21:42
Flasher
См. дописку (я там скобки переставил).
Спасибо. Также - с наступающим! Изображение

Добавлено: Вт дек 30, 2014 21:58
Nick
Исправил, тоже вроде, нормально работает. :wink:

Добавлено: Ср дек 31, 2014 06:25
Iori
Flasher

А почему вы в вашем обновленном скрипте не оставили 7zG.exe.
Я думал с процессом лучше было вроде. :)

Добавлено: Ср дек 31, 2014 16:03
Flasher
Iori
А я её и не добавлял туда, чтобы оставить. :)
Насчёт "лучше" - не совсем, т.к. с GUI скрипт будет спотыкаться на запароленных архивах, выдавая окно с вводом. А я исходил ещё из этого запроса. И, кстати, хорошо, что всплыло, т.к. я вовсе не предусмотрел удаление именно успешно распакованных архивов и удаление пустых папок в случае с запароленными или пустыми архивами. Добавлено. :)