PDA

Показать полную графическую версию : [решено] Winrar авто разархивирование


RodionRuRu
06-06-2013, 15:06
Я вот прочитал тему - http://forum.oszone.net/nextoldesttothread-240280.html
И взял от туда такой скрипт -
@echo off

SET WinRarPath="%ProgramFiles%\WinRAR\WinRAR.exe"
start /wait "" %WinRarPath% X *.rar

И он распоковывает все что лежит в архиве и то что в папках, а мне нужно что бы он саму папку перенес. Что делать?

Iska
06-06-2013, 15:11
RodionRuRu, ещё раз и, пожалуйста, по-русски.

«и то что в папках» — о каких папках речь? «саму папку перенес» — о какой папке речь? Куда «перенёс»?

RodionRuRu
06-06-2013, 15:13
Ну папка в архиве, а когда разархивирует через .bat , папки которые в архиве winrar, в папке которая в архиве, файлы, папка исчезает а файлы переносится, а мне нужна что бы сама папка переносилась а не исчезала.

Iska
06-06-2013, 16:36
RodionRuRu, я же просил — по-русски. Сожалею.

Можете попробовать объяснить на конкретном примере — содержимое архива, что происходит, и как бы хотелось.

RodionRuRu
08-06-2013, 19:51
Вся суть тут скрины и текст - http://imgur.com/SO5vMsL,Wl2X0vP,zKFvCgJ,KfdT9am,SbpEHsk#0 5 изображений!

RodionRuRu
09-06-2013, 02:24
Iska, так поможешь?

Iska
09-06-2013, 05:00
RodionRuRu, Ваши картинки, равно как и Ваша речь, для меня непонятны. Сожалею.

Georgio
09-06-2013, 09:45
RodionRuRu, как и коллега Iska, я также абсолютно ничего не понял, но знаю, что большинству польэователей нужно, чтобы каждый архив был разпакован в одноимённую папку.


Я уже давно не пользуюсь WinRAR (использую другие архиваторы и распаковщики), поэтому я не помню все его консольные команды, но попробуйте такой скрипт (может, можно было и проще), хуже не будет:

@ECHO OFF
FOR %%I IN (*.rar) DO (
"%ProgramFiles%\WinRAR\WinRAR.exe" X "%%~I" *.* "%%~nI\"
)


Запускать нужно из папки со всеми RAR-архивами, которые нужно распаковать.

RodionRuRu
09-06-2013, 12:42
Спасибо, помогло!
Сначала такой код будет задействован:
@echo off

SET WinRarPath="%ProgramFiles%\WinRAR\WinRAR.exe"
start /wait "" %WinRarPath% X *.rar

Он распакововает с 1 архива все архивы в нем в папку где находится архив!
А это:
@ECHO OFF
FOR %%I IN (*.rar) DO (
"%ProgramFiles%\WinRAR\WinRAR.exe" X "%%~I" *.* "%%~nI\"
)


Все те архивы которые распоковались с 1 делает названия архивов и заменяет старые файлы! Nice!

Хм, а как сделать что бы она файл перезаписывала еще. Ото она пропускает)

Iska
09-06-2013, 13:26
Господи…

RodionRuRu, освойте словосочетание «вложенные архивы».

RodionRuRu
09-06-2013, 19:17
Так он уже распакованные файлы пропускает а как сделать что бы перезаписовал.

Georgio
09-06-2013, 19:42
RodionRuRu, попробуйте ключ -y, по-моему, идущий сразу за командой X:

@ECHO OFF
FOR %%I IN (*.rar) DO (
"%ProgramFiles%\WinRAR\WinRAR.exe" X -y "%%~I" *.* "%%~nI\"
)

RodionRuRu
10-06-2013, 14:27
Спасибо, получилось! Все даже легче чем я думал)




© OSzone.net 2001-2012