PDA

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


Aleksander.Ruban@fb
22-08-2012, 00:28
Здравствуйте,

Есть скрипт - для пакетной распаковки rar архивов находящихся в разных папках, распакованные файлы кладутся в туже папку где лежит rar архив.

Вопрос, как сделать так, чтобы при его выполнении в случае, если архив рара имеет формат типа *.part01.rar (*.part02.rar, *.part03.rar и т.д.) происходил пропуск этой папки и переход у другой?

FOR /D /r %%F in ("*") DO (

pushd %CD%
cd %%F
FOR %%X in (*.rar) DO (
"C:\Program Files\7-zip\7z.exe" x "%%X"
)
popd

)

gora
22-08-2012, 13:45
Попробуйте так:@Echo Off
SetLocal EnableDelayedExpansion
For /R %%i In (*.rar) Do (
Set tp=%%~dpi
Set tp=!tp:~0,-1!
Set tn=%%~ni
Set tn=!tn:~-7!
Set tn=!tn:~0,-2!
If Not "!tn!"==".part" Echo "C:\Program Files\7-zip\7z.exe" x "%%i" -o"!tp!"
)
PauseПосле проверки команду Echo удалить.

Aleksander.Ruban@fb
24-08-2012, 22:44
Все работатет! Спасибо.
Кстати, вот еще один вариант (рубоард - Alex_Piggy)


setlocal enabledelayedexpansion
FOR /D /r %%F in ("*") DO (
pushd "%%F"
FOR %%X in (*.rar) DO (
set "filename=%%~nxX"
set "filename=!filename:~-10,4!!filename:~-4!"
if not "!filename!"=="part.rar" "C:\Program Files\7-zip\7z.exe" x "%%X"
)
popd
)

gora
24-08-2012, 23:04
вот еще один вариант »
FOR /D /r »
Мне не знаком такой синтаксис команды For




© OSzone.net 2001-2012