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

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

Ответить
Настройки темы
CMD/BAT - Создание архива из подкаталогов

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


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

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


Изменения
Автор: cezar_bd
Дата: 27-11-2012
День Добрый. Имеется основной каталог test в нем test1, test2, test3 ..... test15, в каждом из них есть каталоги 1,2,3,4,5,6 (тоесть они повторяются в каждом из t01....t15), необходимо каталоги 1,2,3,4,5,6( со всеми файлами) скоприровать следующим образом
значит что есть
t01 /1
/2
/3
/4
/5
/6
/7
/8
/9

t02 /1
/2
/3
/4
/5
/6
/7
/8
/9

..............

t15 /1
/2
/3
/4
/5
/6
/7
/8
/9
необходимо получить в итоге следующую структуры
1 /t01/01
/t02/01
/t03/01
...................
/t15/01

..............
2 /t01/02
/t02/02
/t03/02
...................
/t15/02
................
................
3 /t01/03
/t02/03
/t03/03
...................
/t15/03
и потом засунуть
каталоги 1,2,3,4 -15 упаковать в архив каждый отдельно 1.7z 2.7z 3.7z......

Отправлено: 18:58, 26-11-2012

 

Ветеран


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

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


Ага. Роман-то с продолжением, оказывается. Понятней, правда, не стало.

Отправлено: 23:24, 26-11-2012 | #2



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

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


Ветеран


Contributor


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

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


Код: Выделить весь код
@Echo Off

Set Dir1=D:\Delete\Основной каталог
Set Dir2=D:\Delete\Следующий образ
Set Zip=D:\Delete\7zip

rem Set ZipExe="C:\Program Files\WinRar\WinRar.exe" a -r -ibck
Set ZipExe="C:\Program Files\7-Zip\7z.exe" a -r 

Set Dir11="Test1" "Test2" "Test3" "Test4" "Test5" "Test6" "Test7" "Test8" "Test9" "Test10" "Test11" "Test12" "Test13" "Test14" "Test15"

SetLocal EnableExtensions
SetLocal EnableDelayedExpansion

md "%Zip%" 2>nul
Cd /D "%Zip%" 

For  /L %%n IN (1,1,9) DO (
        Set /A NN=%%n+100
        Set NN=!NN:~1,2!
 
	For %%d IN (%Dir11%) DO (

rem		md "%Dir1%\%%~d\%%n" 2>nul
rem		Echo %Dir1% %%d %%n >"%Dir1%\%%~d\%%n\%time:~6,5% %%~d_!NN!.txt"

		If Exist "%Dir1%\%%~d\%%n\*.*" (
		   md "%Dir2%\%%n\%%~d\!NN!" >nul 2>nul
		   Copy "%Dir1%\%%~d\%%n\*.*" "%Dir2%\%%n\%%~d\!NN!\" >nul 2>nul
		)
	)
	%ZipExe% %%n "%Dir2%\%%n\*.*"
rem        rd "%Dir2%\%%n" /s /q 
)
Вот решение. В нём закомментировано

rem Set ZipExe="C:\Program Files\WinRar\WinRar.exe" a -r -ibck
то есть вариант с вызовом упаковщика winrar

rem md "%Dir1%\%%~d\%%n" 2>nul
rem Echo %Dir1% %%d %%n >"%Dir1%\%%~d\%%n\%time:~6,5% %%~d_!NN!.txt"
Создание тестовых исходных папок с тестовыми исходными файлами - ручками такую структуру мне было делать лень

rem rd "%Dir2%\%%n" /s /q
здесь я привёл пример, как можно убить подпапку по мере её упаковки.
можно ниже последней скобоки вообще написать

rd "%Dir2%" /s /q

если нет смысла хранить файлы аж в 3 экземплярах, оставляем только упакованные.

-------
Даже самая сложная проблема обязательно имеет простое, лёгкое для понимания, неправильное решение. Каждое решение плодит новые проблемы.


Последний раз редактировалось megaloman, 27-11-2012 в 22:41.

Это сообщение посчитали полезным следующие участники:

Отправлено: 18:41, 27-11-2012 | #3


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


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

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


спасибо большое. Самое оно.

Отправлено: 10:13, 28-11-2012 | #4



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

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

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
MSFT SQL Server - SQL Backup-создание ежедневно нового архива Anatoliy2004 Программирование и базы данных 8 29-09-2011 13:29
Создание SFX архива с параметрами запуска Centrinar AutoIt 1 21-02-2011 20:38
Создание SFX-архива в WinRAR Limpin Автоматическая установка Windows 2000/XP/2003 1 10-10-2008 19:52
Создание SFX архива Panteley Автоматическая установка приложений 1 22-06-2007 18:52




 
Переход