Войти

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


Страниц : 1 [2]

muguch
13-09-2012, 16:02
Код:
@echo off
set src=D:\2\
set dst=C:\2\
if not exist "%src%??_????_*.zip" (echo not exist %src%??_????_*.zip) else (
for /f "tokens=1,2,3,4 delims=_." %%I in ('dir /b "%src%??_????_*.zip"') do (
echo archive %src%%%I_%%J_%%K.%%L
if not exist "%dst%%%K-*" (echo not exist %dst%%%K-*) else (
for /f "tokens=1,2 delims=-" %%M in ('dir /b "%dst%%%K-*"') do (
echo extract to %dst%%%M-%%N
"%ProgramFiles%\7-Zip\7z.exe" x "%src%%%I_%%J_%%K.%%L" -oc:"%dst%%%M-%%N"
)
)
)
) »


archive d:\2\d2_0912_02.zip
extract to c:\2\02-*

7-Zip 4.65 Copyright (c) 1999-2009 Igor Pavlov 2009-02-03

Processing archive: d:\2\d2_0912_02.zip


Error: Can not create output directory c:d:\2\02-*\


System error:
Синтаксическая ошибка в имени файла, имени папки или метке тома.

Bob256
13-09-2012, 16:20
Вот я невнимательный...
"%ProgramFiles%\7-Zip\7z.exe" x "%src%%%I_%%J_%%K.%%L" -o"%dst%%%M-%%N"

muguch
13-09-2012, 16:29
все распаковалось но ... не туда
создались папки в той дериктории где находяться архивы и туда все рапаковалось,т.е в папку d:\2\
а в папку c:\2\ ничего не распаковалось

Bob256
13-09-2012, 16:45
А batник что написал?

muguch
14-09-2012, 08:07
Bob256, написал что распаковал все нормально

archive d:\2\d2_0912_02.zip
extract to c:\2\02-*

7-Zip 4.65 Copyright (c) 1999-2009 Igor Pavlov 2009-02-03

Processing archive: d:\2\d2_0912_02.zip

Extracting PFR-700-Y-2012-ORG-053-001-030719-DCK-12869-DPT-053002-DCK-00000-DIS
-002-DCK-00000.XML
Extracting PFR-700-Y-2012-ORG-053-001-030719-DCK-12870-DPT-053002-DCK-00000-DIS
-002-DCK-00000.XML

Everything is Ok

Files: 2
Size: 34851
Compressed: 4832

Bob256
14-09-2012, 08:54
Как такое возможно? extract to c:\2\02-* »

muguch
14-09-2012, 09:13
Bob256, прости, но я не знаю....
я делаю все то, что ты пишешь, и передаю то что пишет батник...

Bob256
14-09-2012, 10:59
@echo off
setlocal enabledelayedexpansion
set src=D:\2\
set dst=C:\2\
for %%I in (%src%??_????_*.zip) do (
set F=%%~nI
set F=!F:~-2,2!-*
for /d %%J in (%dst%!F!) do (
echo archive %%I extract to %%J
"%ProgramFiles%\7-Zip\7z.exe" x "%%I" -o"%%J"
)
)

muguch
14-09-2012, 11:13
Bob256, спасибо тебе огромное !!!!!




© OSzone.net 2001-2012