В папке программных файлов WinRAR есть текстовый файл Rar.txt
, который представляет собой руководство для консольной версии Rar.exe
, содержащее также все команды и переключатели, поддерживаемые UnRAR.exe
, которые, конечно, не могут создавать, обновлять или восстанавливать RAR. архивы.
Запуск в окне командной строки только UnRAR.exe
без каких-либо параметров приводит к отображению всех поддерживаемых команд и переключателей с кратким описанием.
UnRAR
, Rar
и WinRAR
поддерживают распаковку нескольких файлов *.rar в каталоге без необходимости пакетного файла с циклом FOR с помощью одной команды.
Для распаковки многотомного архива достаточно указать в командной строке имя файла первого файла RAR-архива. UnRAR
, Rar
и WinRAR
автоматически определяют, что этот файл является первым файлом многотомного архива, и автоматически обрабатывают все тома.
Конечно, UnRAR
, Rar
и WinRAR
не обрабатывают каждый файл *.rar более одного раза при распаковке всех файлов *.rar папки, содержащей несколько отдельных архивов, а также 1 или более многотомных архивов.
Для распаковки нескольких независимых архивов *.rar одной строкой может быть полезен переключатель -ad
, чтобы избежать объединения содержимого всех независимых архивов в одну директорию.
Для распаковки всех архивов *.rar из каталога C:\Temp
в каталог C:\Temp\Extracted
с объединением файлов и папок из всех архивов в этот каталог и автоматической перезаписью всех существующих файлов используйте следующую команду:
"%ProgramFiles%\WinRAR\UnRAR.exe" x -c- -cfg- -inul -o+ -y "C:\Temp\*.rar" "C:\Temp\Extracted\"
Извлечение всех файлов *.rar в C:\Temp
с получением каждого независимого архива, извлеченного в подкаталог в C:\Temp\Extracted
с именем файла архива, может быть достигнуто с помощью:
"%ProgramFiles%\WinRAR\UnRAR.exe" x -ad -c- -cfg- -inul -o+ -y "C:\Temp\*.rar" "C:\Temp\Extracted\"
Переключатель -ad
определяет выходную папку.
Неважно, C:\Temp\Extracted
уже существует или еще не существует для распаковки архивов. UnRAR
, Rar
и WinRAR
всегда создают при извлечении все дерево каталогов для выходной папки, если это необходимо и, конечно, возможно (разрешения на запись, диск/общий ресурс существует и не защищен от записи).
Давайте посмотрим на пример, чтобы сделать разницу более ясной.
Есть 2 архива RAR MyFirstArchive.rar
и AnotherArchive.rar
в C:\Temp
, содержащие следующие файлы и папки.
МойПервыйАрхив.rar
Attributes Size Date Time Name
----------- --------- -------- ----- ----
....... 6302 11-10-15 15:25 zzz.doc
....... 940942 26-08-15 08:07 yyy.txt
....... 1430688 06-10-14 05:49 Folder1\xxx.pdf
...D... 0 12-10-15 07:10 Folder1
----------- --------- -------- ----- ----
2377932 4
Другой архив.rar
Attributes Size Date Time Name
----------- --------- -------- ----- ----
....... 28165 08-01-12 17:50 zzz.doc
....... 3743 29-10-14 07:18 Folder2\index.txt
....... 27141 29-10-14 07:18 Folder1\index.txt
....... 940942 26-08-15 08:07 index.txt
...D... 0 12-10-15 07:10 Folder1
...D... 0 12-10-15 07:12 Folder2
----------- --------- -------- ----- ----
999991 6
Результат первой команды:
- C:\Temp\Extracted
- Folder1
- Folder2
- index.txt
- гггг.txt
- zzz.doc
zzz.doc
в AnotherArchive.rar
перезаписал zzz.doc
в MyFirstArchive.rar
.
Вторая команда с переключателем -ad
приводит к:
- C:\Temp\Extracted
- MyFirstArchive
- AnotherArchive
- Folder1
- Folder2
- index.txt
- zzz.doc
Папка и файлы 2-х архивов распаковываются в отдельные папки с именем файла архива.
person
Mofi
schedule
08.10.2015
for /F
? почему бы просто не выполнитьunrar
напрямую? вы все равно не используете переменную%%d
... - person aschipfl   schedule 08.10.2015for
бессмысленно выполняетunrar
много раз, распаковывая одни и те же файлы. - person wOxxOm   schedule 08.10.2015