Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Компьютеры » Программы » WinRAR (часть 5)

Модерирует : gyra, Maz

 Версия для печати • ПодписатьсяДобавить в закладки
Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188

Открыть новую тему     Написать ответ в эту тему

Maz



Дед Мазай
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
По вопросам лечения (кряки, патчи и т.д.), а также разблокировки архивов обращаемся в «Варезник».
Отдельная тема по сборкам WinRAR
Предыдущие части темы: 0 | 1 | 2 | 3 | 4



 
Официальный русский сайт: win-rar.com
Официальный e-mail разработчика WinRAR (писать по-русски): dev@rarlab.com


Стабильная английская версия: 7.13
Стабильная русская версия: 7.13


Последняя 32-разрядная версия (7.01): английская | русская


Текущая английская бета-версия: 7.20 beta 2
Текущая русская бета-версия: 7.20 beta 2

Примечание: английская бета-версия обновляется регулярно, без изменения номера версии. подробнее...
Список изменений на английском языке
(на родном – смотрите файл WhatsNew.txt в дистрибутиве на вашем языке)
Скачать RAR для macOS, FreeBSD, Linux, Android можно здесь.

Скачать ранее вышедшие версии можно с официального FTP
Список версий совместимых с различными ОС

Версия 3.62 (ru) с подарочным ключом (респект камраду elmorte)

Коллекция всех ранее выходивших 16- и 32-бит версий WinRAR 1.54b - 7.01 (1995-2024): скачать (342 МБ) [обновлено 12.05.2024]

вместо F.A.Q. || альтернативные архиваторы

Почему при русском разработчике задерживается русская версия, хотя на языке XXX она уже появилась? Не захламляйте тему подобными вопросами.

Кому не нравится новая тема оформления - скачайте с официального сайта rarlab.com (из раздела Themes) и установите себе WinRAR Classic theme by Francesco Indrio
Стандартная (48x36). Маленькие кнопки (24x24)

В теме активно отвечает на вопросы автор архиватора Евгений Рошал! Ситуация уникальная, прошу пользоваться. :)
 
Таблицы для наглядности с соотношением размера словаря к потребляемой ОЗУ:
с ключом mcx | без ключа mcx

Всего записей: 39710 | Зарегистр. 26-02-2002 | Отправлено: 08:31 31-07-2023 | Исправлено: DimmY, 23:23 21-11-2025
uShell

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
insorg
Может, я что-то пропустил в новых версиях, но функционала создания нового архива на базе существующего я в WinRAR не видел. Модификация проходит так: создаётся временный архив, в него пишутся все оставшиеся и новые файлы, исходный архив удаляется, а временный переименовывается. Символическая ссылка (и жёсткая тоже) позволяет обойтись без копирования в целевой каталог - всё делается на уровне файловой системы.
 
В принципе, можно обойтись без символической ссылки: если WinRAR не может удалить исходный архив, он выводит стандартное сообщение Abort-Retry. В этот момент его можно прибить и дать временному архиву нужное имя. Разумеется, нужно заранее задать путь ключом -w. Но есть нюанс: при модификации WinRAR проверяет права на запись в самом начале, так что с read-only носителем трюк может и не сработать.

Всего записей: 1161 | Зарегистр. 12-06-2019 | Отправлено: 18:13 05-10-2025 | Исправлено: uShell, 18:16 05-10-2025
insorg



Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
uShell
Ну ладно. Тогда скопирую и сделаю как есть. В принципе, прогнать 80 гигов с одного места на другое - быстрее, чем возиться с поисками (вероятно) невыполнимого. Спасибо за внимание.

Всего записей: 20238 | Зарегистр. 04-11-2010 | Отправлено: 20:48 05-10-2025
Pasha_ZZZ



Platinum Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
insorg
Если очень нужно - создание симлинка можно автоматизировать командой MKLINK

Всего записей: 13375 | Зарегистр. 11-03-2002 | Отправлено: 20:53 05-10-2025
insorg



Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Pasha_ZZZ
В курсе. Прелестями ntfs постоянно упрощаю себе работу.

Всего записей: 20238 | Зарегистр. 04-11-2010 | Отправлено: 21:00 05-10-2025
los

Gold Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
EugeneRoshal,
< arch.rar | rar x -si
не распаковывает, что-то не так в команде?

Всего записей: 7999 | Зарегистр. 08-09-2001 | Отправлено: 12:05 06-10-2025
uShell

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
< arch.rar | rar x -si  

А оно вообще работает? Не знаю насчёт *nix, а под Windows перед символом перенаправления должна быть команда. Лучше написать так:

Код:
rar x -si < arch.rar

Ну, или через cat type:

Код:
type arch.rar | rar x -si

Всего записей: 1161 | Зарегистр. 12-06-2019 | Отправлено: 13:34 06-10-2025 | Исправлено: uShell, 13:35 06-10-2025
los

Gold Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
cat arch.rar | rar x -si
тоже не работает.

Всего записей: 7999 | Зарегистр. 08-09-2001 | Отправлено: 14:13 06-10-2025
tansy

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Он работает только с сжатием, сжатием одного (входного) файла.
 

Код:
 
$ echo aaaaaaaaaaa > a.txt
 
$ cat a.txt | rar a -si a.rar
 
$ rar a -si a.rar < a.txt
 
$ wc -c *
 90 a.rar
 12 a.txt
 


Всего записей: 109 | Зарегистр. 19-09-2024 | Отправлено: 18:49 07-10-2025 | Исправлено: tansy, 18:49 07-10-2025
EugeneRoshal

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
los

Цитата:
cat arch.rar | rar x -si

Там надо указать любое имя архива для соответствия общему синтаксису:
cat arch.rar | rar x -si dummy.rar

Всего записей: 2641 | Зарегистр. 29-04-2013 | Отправлено: 20:49 07-10-2025
los

Gold Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
EugeneRoshal, мягко говоря, очень странное и неочевидное решение.  Да и в справке указано несколько другое:

Цитата:
2) unpack docs.rar to 'docs' directory
 
            type docs.rar | rar x -si -o+ -pmypwd dummy docs\

 
Можете привести к более привычному виду для *nix систем - без указания имени архива? Т.е.
cat in.rar | rar x -si
в идеале, конечно -si тоже лишнее

Всего записей: 7999 | Зарегистр. 08-09-2001 | Отправлено: 21:52 07-10-2025
tansy

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Код:
 
$ echo aaaaaaaaaaa > a.txt  
$ cat a.txt | rar5 a -si a.rar
 
$ cat a.rar | rar5 x -si dummy.rar
...
Cannot open dummy.rar
No such file or directory
No files to extract
 
$ cat a.rar | rar5 x -si /dev/null
...
/dev/null is not RAR archive
No files to extract
 

 
К вашему сведению, это не работает в Rar 5 и ниже.

Всего записей: 109 | Зарегистр. 19-09-2024 | Отправлено: 21:56 07-10-2025 | Исправлено: tansy, 22:36 07-10-2025
Inoz2000



Gold Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
los
Цитата:
очень странное и неочевидное решение

А может это как раз таки правильнее и мы просто чего-то недопонимаем… Вот в 7-zip есть пример в справке и он таки работает:
Цитата:
7z a dummy -tgzip -so Doc.txt > archive.gz
Я так же делал архивы *.tar.zstd
Цитата:
7z.exe a dummy -ttar -so * | zstd.exe - -o A:\ultra.tzst
примерно такой командой.
 
 
 
 
Добавлено:
из справки rar.txt
Код:
Формат вызова:
 
    RAR <команда> [ -<ключи>... ] <архив> [<@файлы-списки...>] [<файлы...>]
                  [ <путь_для_извлечения\> ]
становится ясно, что <команда> и <архив> не заключены в квадратные скобки, а заначит должны присутствовать всегда.

Всего записей: 5505 | Зарегистр. 23-04-2009 | Отправлено: 22:31 07-10-2025
los

Gold Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Inoz2000

Цитата:
А может это как раз таки правильнее и мы просто чего-то недопонимаем…

для *nix  систем синтакс с -si, а уж тем более
< in.rar | rar x -si 1
как оказалось после -si может быть практически любая ерунда, лишь бы была - нелогичен и непривычен.  
 

Цитата:
Вот в 7-zip есть пример в справке и он таки работает:

для чтения из стандартного ввода в 7-zip не нужно указывать "левый" параметр.
$tar c foo | 7z l -si -ttar
вполне себе работает.

Всего записей: 7999 | Зарегистр. 08-09-2001 | Отправлено: 23:03 07-10-2025
tansy

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
ля чтения из стандартного ввода в 7-zip не нужно указывать "левый" параметр

los:
 

Цитата:
7-Zip Поддерживаю чтение архивов из stdin только для xz, lzma, tar, gzip and bzip2.

 
-si (read data from stdin) switch
-so (write data to stdout) switch

Всего записей: 109 | Зарегистр. 19-09-2024 | Отправлено: 11:10 08-10-2025 | Исправлено: tansy, 11:10 08-10-2025
los

Gold Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
tansy, под лишним параметром подразумевалось дополнительное указание параметра, т.е.
 
< in.rar | rar x -si 1
< in.rar | rar x -si arc.rar
где 1 и arc.rar и названы мной "левыми".
 
об ограниченной поддержке 7-zip чтения архивов из stdin мне известно
 
Собственно говоря, почему возник вопрос - выше у insorg возникла задача и она для tar архива решаема с помощью gnu tar, а вот провернуть такой же трюк для rar архива с помощью rar похоже что не получится.
 
 

Всего записей: 7999 | Зарегистр. 08-09-2001 | Отправлено: 15:32 08-10-2025 | Исправлено: los, 15:33 08-10-2025
EugeneRoshal

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
los

Цитата:
Да и в справке указано несколько другое:  


Цитата:
type docs.rar | rar x -si -o+ -pmypwd dummy docs\

Почему другое? Имя архива в этом примере "dummy".

Цитата:
Можете привести к более привычному виду для *nix систем - без указания имени архива?

Появится неоднозначность синтаксиса. Это надо было изначально декларировать, что с -si имя архива всегда отсутствует. А сейчас в случае "type arc.rar | rar x -si arc2.rar" было бы непонятно, arc2.rar это пустышка вместо имени архива или пользователь не указал имя архива и хочет распаковать arc2.rar, содержащийся в arc.rar.

Всего записей: 2641 | Зарегистр. 29-04-2013 | Отправлено: 21:10 08-10-2025
los

Gold Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
EugeneRoshal, спасибо. Понятно.

Всего записей: 7999 | Зарегистр. 08-09-2001 | Отправлено: 22:35 08-10-2025
insorg



Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
EugeneRoshal
Имеется solid rar архивчик на несколько десятков ГБ и в нём среди прочего попалась пустая ненужная папка с пустыми подпапками. Ни одного файла в них нет.
Вопрос - как удалить её из архива так, чтобы Winrar не пытался его перепаковывать как будто я удаляю файлы, а просто выбросил эти папки? Тот же 7zip в своих архивах это делает моментально, скорости упираются только в чтение/запись диска. А здесь же начинается полная перепаковка всего содержимого...

Всего записей: 20238 | Зарегистр. 04-11-2010 | Отправлено: 02:46 12-10-2025
EugeneRoshal

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
insorg
В RAR это не реализовано.
 
В 7-Zip, насколько я помню, есть central directory, и для команды "rar d arc folder" можно быстро проверить, все ли записи, попадающие под маску folder\*, не содержат данные, в то время как quick open record в RAR опциональна и может включать не все заголовки.
 
Так что в RAR в общем случае для быстрого удаления папки потребовался бы или второй проход по архиву, или алгоритм с отложенным наполнением словаря при обнаружении файла с данными. В принципе, насчет отложенного наполнения в будущем можно будет подумать. Но это явно будет не самая простая в реализации вещь. Не исключаю, что там могут обнаружиться неочевидные сейчас сложности. Так что пока что-то определенное на этот счет сказать не могу.
 
Что касается central directory, у нее есть свои плюсы и минусы. Ее надо или писать дополнительно к локальным заголовкам, но тогда растет размер архива. Или смириться с тем, что мы можем легко потерять все заголовки, если архиву отрезало хвост. Соответственно, данные из скачанного частично архива тоже не распаковать.

Всего записей: 2641 | Зарегистр. 29-04-2013 | Отправлено: 13:01 12-10-2025
uShell

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
как удалить её из архива так, чтобы Winrar не пытался его перепаковывать как будто я удаляю файлы

Да, интересное наблюдение. Получается, что WinRAR, видя удаление из solid-блока, начинает перепаковывать блок вне зависимости от того, удаляются реальные данные или только метаданные. Контейнер 7z этой проблеме не подвержен архитектурно: метаданные хранятся отдельно от сжатых данных и файлы нулевой длины никоим образом не участвуют в построении solid-блока.
 
Преодоление этого неудобства возможно двумя способами: либо перед перепаковкой проверять, что удаляются объекты только нулевой длины (upd: выше показано, что для этого нужен дополнительный проход по заголовкам архива), либо сделать исключение в алгоритме сортировки и при [пере]создании архива вынести все такие объекты в хвост, сбросив им флаг solid (но тут EugeneRoshal может возразить, что кусочно-непрерывные архивы всё равно не поддерживаются).
 
insorg, для этого конкретного случая можно написать отдельную программу, копирующую архив, пропуская блоки нулевой длины. По идее, solid-статистика на пустом файле не меняется и новый архив останется корректным.

Всего записей: 1161 | Зарегистр. 12-06-2019 | Отправлено: 13:04 12-10-2025 | Исправлено: uShell, 13:08 12-10-2025
Открыть новую тему     Написать ответ в эту тему

Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188

Компьютерный форум Ru.Board » Компьютеры » Программы » WinRAR (часть 5)


Реклама на форуме Ru.Board.

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.B0ard
© Ru.B0ard 2000-2025

LiteCoin: LgY72v35StJhV2xbt8CpxbQ9gFY6jwZ67r

Рейтинг.ru