Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Скриптовые языки администрирования Windows (http://forum.oszone.net/forumdisplay.php?f=102)
-   -   Как разбить файл на части (rar)? (http://forum.oszone.net/showthread.php?t=319375)

Инсульт 03-10-2016 00:21 2674404

Как разбить файл на части (rar)?
 
Использую BATник для резервного копирования с сжатием в RAR такими параметрами
Код:

RAR a -ac -r -rr -m1 -ms -k -y -hp%PWD% -ag...(DD.MM.YYYY) %DISK%:\Backup\15...!Repair.RAR D:\!Repair
На выходе получается файл: 15...!Repair...(02.10.2016).RAR
Появилась необходимость резать архивы на части по 1гб. У RAR есть ключи -v1g -vn
-v1g бить на части по 1гб
-vn классические расширения типа R00...R99
Разбивает нормально, но в архиве файлы только по частям т.е те что влезли в 1гб дальше обрезается.
Баг самого RAR или чего?
Чем можно порезать более работоспособно?

Iska 03-10-2016 01:40 2674410

Цитата:

Цитата Инсульт
На выходе получается файл: 15...!Repair...(02.10.2016).RAR »

Крайне не рекомендуется пользовать символ «!» в именах файлов при обработке их пакетными файлами.


Цитата:

Цитата Инсульт
Разбивает нормально, но в архиве файлы только по частям т.е те что влезли в 1гб дальше обрезается. »

Поясните. Можно со скриншотами.

Инсульт 03-10-2016 02:39 2674412

Цитата:

Цитата Iska
Крайне не рекомендуется пользовать символ «!» в именах файлов при обработке их пакетными файлами. »

Тем не менее проблемы в имени файла нет.
Цитата:

Цитата Iska
Поясните. Можно со скриншотами. »

К примеру в папке 20 файлов размером 100мб, размер папки 2гб. Архив создается 1гб в котором помещается 10 файлов.
Создается 2 файла-архива file.RAR и file.R00. Так вот если открыть file.RAR то в нем будет не 20 файлов как должно, а 10 файлов. Т.е не подхватывается следующий том.
Судя по тому что это уникальная фича RAR, то тома будут подхватываться только в GUI самого WinRAR что очень плохо.
Хотелось бы как то бить файлы по 1гб, и в дальнейшем их распаковывать\объединять без участия WinRAR.

Iska 03-10-2016 06:40 2674429

Цитата:

Цитата Инсульт
Тем не менее проблемы в имени файла нет. »

Разумеется. Я писал об:
Цитата:

Цитата Iska
Крайне не рекомендуется пользовать символ «!» в именах файлов при обработке их пакетными файлами. »



Цитата:

Цитата Инсульт
Создается 2 файла-архива file.RAR и file.R00. »

Используйте версию 5.x WinRAR.


Цитата:

Цитата Инсульт
Так вот если открыть file.RAR »

Чем открыть?

Цитата:

Цитата Инсульт
то в нем будет не 20 файлов как должно, а 10 файлов. »

Не подтверждаю для версии 5.31. Не помню такого и в прошлом.

Инсульт 03-10-2016 06:53 2674432

Использую версию 5.40.
Открываю? Да пофигу чем. Нормально подхватывает тома только winrar. Даже FAR с плагином MultiArc и unrar.dll 5.40 открывать то открывает, и даже видит файлы всех томов, но распаковывает только 1 том и говорит что все ОК.

Iska 03-10-2016 07:07 2674434

Цитата:

Цитата Инсульт
Использую версию 5.40. »

Тогда не пойму — откуда у Вас берётся старая схема (4.x) именования томов. Используйте новую.

Цитата:

Цитата Инсульт
Открываю? Да пофигу чем. »

Давайте говорить о конкретных вещах, чтобы иметь в виду одно и то же и говорить об одном и том же.

Цитата:

Цитата Инсульт
Нормально подхватывает тома только winrar. »

Ага. Значит, с самим WinRAR проблемы у Вас, как видим, нет.

Цитата:

Цитата Инсульт
Даже FAR с плагином MultiArc и unrar.dll 5.40 открывать то открывает, и даже видит файлы всех томов, но распаковывает только 1 том и говорит что все ОК. »

Какой именно Far пользуете, что у Вас MultiArc, а не идущий в комплекте ArcLite — с которым проблем с отображением/распаковкой многотомных архивов rar таки тоже нет? Нет проблем с отображением/распаковкой и у 7-Zip версии 16.02 (на коде которого базируется плагин ArcLite). Естественно, нет проблем и с родным unrar.exe.

DVDshnik 03-10-2016 07:26 2674438


Commander"ы Total и Windows вроде неплохо разбивают и собирают файлы обратно. Давненько пробовал, правда, эту функцию.

Iska 03-10-2016 08:05 2674444

Точно давненько ;). Commander почти пятнадцать лет как не Windows: Total Commander - Name change.

alpap 03-10-2016 12:47 2674517

Инсульт,
Размеры файлов у вас фиксированы примерно как погляжу. Могу предложить вариант до RAR, с количественным распределением файлов по папкам, может и так устроит:
Код:

@echo off
set kf=10 &: Число файлов в папке
:l
set/a m+=1
setlocal enabledelayedexpansion
 2>nul dir/a-d/b "papka"|>nul find/v "" || goto :eof
 for /f "delims=" %%a in ('2^>nul dir/a-d/b "papka"') do (
  if not exist "papka_%m%" md "papka_%m%"
  set/a n+=1& if !n! leq %kf% >nul move/y "papka\%%a" "papka_%m%\%%a"
 )
endlocal
goto l
exit.


Iska 03-10-2016 13:00 2674522

alpap, зачем?!

Инсульт 03-10-2016 13:04 2674524

Цитата:

Цитата Iska
старая схема (4.x) именования томов. Используйте новую. »

Из справки 5.40
Цитата:

В архивах RAR 5.0 ключ -vn и именование на основе изменения расширений файлов не поддерживаются.
Тем не менее ключ работает, точнее создает файлы R00....R99
Новое именование томов volname.partNNN.rar' ужасно выглядит...
Цитата:

Цитата alpap
Размеры файлов у вас фиксированы примерно как погляжу. »

Нет, это было для примера. Архивирую папки например с прошивками для телефонов. Но разбивать каждый архив нужно обязательно потому что облачный сервис позволяет заливать файл не больше 1гб.

Iska 03-10-2016 13:12 2674530

Цитата:

Цитата Инсульт
Новое именование томов volname.partNNN.rar' ужасно выглядит... »

Нормально выглядит. Повторюсь ещё раз — используйте новую схему именования томов (можете и про упомянутый:
Цитата:

Цитата Инсульт
Тем не менее ключ работает, точнее создает файлы R00....R99 »

баг отписаться автору).

Так что там у Вас не работает, кроме старого неюникодного MultiArc'а?

megaloman 03-10-2016 13:17 2674534

Инсульт, Определитесь, что Вам требуется. Как я понял, Вам надо создать многотомный архив с указанной длиной тома. RAR Вам это делает успешно, файлы из многотомного архива RAR восстанавливает успешно. Какие претензии к RAR?
Наверное, формулировка вопроса не корректна: Вам нужно не резать файл на части (какой файл, готовый архив RAR?), а создать многотомный архив, при этом RAR выдаст Вам файлы указанной длины, но нигде не написано и никто Вам не обещал, что в каждую часть архива поместится полностью каждый файл - нет такого ключа при упаковке. Даже, гипотетически, если бы такой ключ существовал, тогда бы и размер каждой части архива был бы плавающий.
А то, что Вы затем смотрите эти файлы сторонним вьювером - так это проблемы работы у вьювера с многотомным архивом RAR.
Если надо получить качественный многотомный архив с заданными параметрами- Вы его получаете.
Если хотите его просматривать корректно иным вьювером - ищите вьювер.
Если надо, чтобы в каждой части архива было целое число файлов - это уже другое дело и стандартными ключами оно не решается. Здесь обсуждалась подобная тема и если надо что-то похожее, будем обсуждать

Инсульт 03-10-2016 14:47 2674553

К примеру 7zip не умеет работать с многотомными архивами, странно такой популярный архиватор и такой косяк.
Будем юзать rar тогда. Распаковать как правильно?
Написал такой cmd
Код:

SET /P DISK1=" FROM DISK: "
SET /P DISK2=" TO DISK: "
SET /P PWD=" PASSWORD: "
CLS
RAR x -ac -y -hp%PWD% %DISK1%:\Backup\*.RAR %DISK2%:\

Плохо что 7zip не хочет дружить с rar.

Iska 03-10-2016 14:59 2674558

Цитата:

Цитата Инсульт
К примеру 7zip не умеет работать с многотомными архивами, »

Цитата:

4.14 beta 2005-01-11
-------------------------
- 7-Zip installer was created with NSIS.
Now it installs 7-Zip for all users (under Windows 2000/XP).
- Now 7-Zip can create multivolume archives
(switch -v for command line)

- Some bugs were fixed
- New localizations: Breton, Farsi
И что Вы подразумеваете под:
Цитата:

Цитата Инсульт
Плохо что 7zip не хочет дружить с rar. »

?!

Nordek 03-10-2016 21:50 2674701

Цитата:

Цитата Инсульт
те что влезли в 1гб дальше обрезается. »

Выполняю:
Код:

rar a -ac -r -rr -v1m -vn -m1 -ms -k -y -hp%PWD% -ag...(DD.MM.YYYY) Backup\15...!Repair.RAR !Repair
и даже не понимаю о чём идёт речь.
Рода "file.ext <--"? "file.ext <--" не подавляет корректного извлечения самого файла.

Цитата:

Цитата Инсульт
К примеру 7zip не умеет работать с многотомными архивами »

Мотивируй.
Код:

7z a -t7z -m0=LZMA2 -mmt=on -mx9 -md=64m -mfb=64 -ms=4g -mqs=on -sccUTF-8 -bb0 -v1048576 "backup\archive.7z" "recovery"

mwz 04-10-2016 10:16 2674866

Цитата:

Цитата Инсульт
К примеру 7zip не умеет работать с многотомными архивами »

О какой версии 7zip идёт речь? Четвёртой? ... Девятой? Последняя — v16.03


Время: 23:37.

Время: 23:37.
© OSzone.net 2001-