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

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

RodionRuRu 06-06-2013 15:06 2163319

Winrar авто разархивирование
 
Я вот прочитал тему - 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 2163323

RodionRuRu, ещё раз и, пожалуйста, по-русски.

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

RodionRuRu 06-06-2013 15:13 2163324

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

Iska 06-06-2013 16:36 2163373

RodionRuRu, я же просил — по-русски. Сожалею.

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

RodionRuRu 08-06-2013 19:51 2164506

Вся суть тут скрины и текст - http://imgur.com/SO5vMsL,Wl2X0vP,zKF...T9am,SbpEHsk#0 5 изображений!

RodionRuRu 09-06-2013 02:24 2164692

Iska, так поможешь?

Iska 09-06-2013 05:00 2164700

RodionRuRu, Ваши картинки, равно как и Ваша речь, для меня непонятны. Сожалею.

Georgio 09-06-2013 09:45 2164733

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


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

Код:

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


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

RodionRuRu 09-06-2013 12:42 2164806

Спасибо, помогло!
Сначала такой код будет задействован:
Код:

@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 2164829

Господи…

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

RodionRuRu 09-06-2013 19:17 2165006

Так он уже распакованные файлы пропускает а как сделать что бы перезаписовал.

Georgio 09-06-2013 19:42 2165029

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

Код:

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


RodionRuRu 10-06-2013 14:27 2165319

Спасибо, получилось! Все даже легче чем я думал)


Время: 13:09.

Время: 13:09.
© OSzone.net 2001-