Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - [решено] распаковка архивов по нужным папкам

Ответить
Настройки темы
CMD/BAT - [решено] распаковка архивов по нужным папкам

Новый участник


Сообщения: 14
Благодарности: 0

Профиль | Отправить PM | Цитировать


Добрый день, форумчане.
Никогда не писал батники, но вот на работе возникла необходимость.
Суть: есть zip архивы вида хх_хххх_[N] и есть папки на сетевом диске вида [N]-[название].
где хх - числа(иногда первая буква, а вторая цифра), хххх - цифры, [N] - номер вида 01,02 ... 43 , который соответствует начальному названию папки на сетевом диске; [название] - название папки.

Необходимо, чтобы архивы разархивировались в соответствующие папки на сетевом диске( хх_ххх_01.zip разархивировался в 01-[название]).

Зарание спасибо за помощь!

Отправлено: 08:39, 12-09-2012

 

Новый участник


Сообщения: 14
Благодарности: 0

Профиль | Отправить PM | Цитировать


Цитата Bob256:
Код:
@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:
Синтаксическая ошибка в имени файла, имени папки или метке тома.

Отправлено: 16:02, 13-09-2012 | #21



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.


Новый участник


Сообщения: 49
Благодарности: 14

Профиль | Отправить PM | Цитировать


Вот я невнимательный...
Код: Выделить весь код
"%ProgramFiles%\7-Zip\7z.exe" x "%src%%%I_%%J_%%K.%%L" -o"%dst%%%M-%%N"

Отправлено: 16:20, 13-09-2012 | #22


Новый участник


Сообщения: 14
Благодарности: 0

Профиль | Отправить PM | Цитировать


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

Отправлено: 16:29, 13-09-2012 | #23


Новый участник


Сообщения: 49
Благодарности: 14

Профиль | Отправить PM | Цитировать


А batник что написал?

Отправлено: 16:45, 13-09-2012 | #24


Новый участник


Сообщения: 14
Благодарности: 0

Профиль | Отправить PM | Цитировать


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

Отправлено: 08:07, 14-09-2012 | #25


Новый участник


Сообщения: 49
Благодарности: 14

Профиль | Отправить PM | Цитировать


Как такое возможно?
Цитата muguch:
extract to c:\2\02-* »

Отправлено: 08:54, 14-09-2012 | #26


Новый участник


Сообщения: 14
Благодарности: 0

Профиль | Отправить PM | Цитировать


Bob256, прости, но я не знаю....
я делаю все то, что ты пишешь, и передаю то что пишет батник...

Отправлено: 09:13, 14-09-2012 | #27


Новый участник


Сообщения: 49
Благодарности: 14

Профиль | Отправить PM | Цитировать


Код: Выделить весь код
@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"
  )
)

Отправлено: 10:59, 14-09-2012 | #28


Новый участник


Сообщения: 14
Благодарности: 0

Профиль | Отправить PM | Цитировать


Bob256, спасибо тебе огромное !!!!!

Отправлено: 11:13, 14-09-2012 | #29



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - [решено] распаковка архивов по нужным папкам

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
CMD/BAT - Распаковка большого количества zip (пакетная распаковка zip из разных папок) dark-------13 Скриптовые языки администрирования Windows 3 12-03-2013 13:00
System/Проект - Доступ к 3 папкам или как ограничить не нужным Rezor666 Сетевые технологии 10 09-06-2012 13:42
Разное - РАСПАКОВКА АРХИВОВ MZ (ОПК 3.19) Vamp1re Тест-форум 0 13-12-2010 15:03
Доступ - как зайти на сервер под нужным мне пользователем Rognorek Microsoft Windows 2000/XP 5 27-07-2007 09:08
распаковка больших архивов greeka Общий по FreeBSD 7 19-07-2004 09:21




 
Переход