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

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

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

Аватара для Ins_16

Пользователь


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


Конфигурация

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


Здравствуйте. Подскажите пожалуйста каким образом можно заархивировать все файлы в текущей папке в отдельные архивы?
Например папка Documents содержит 5 файлов и нужно получить 5 архивов.Формат архивов и архиватор роли не играют, имя архива должно повторять имя файла. Была уже Похожая тема но мне нужен Bat'ник.

Отправлено: 17:59, 11-12-2010

 

Старожил


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

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


Например, так:
Код: Выделить весь код
@echo off
for %%a in (*) do Rar.exe a -inul "%%a".rar "%%a"
Это сообщение посчитали полезным следующие участники:

Отправлено: 09:19, 12-12-2010 | #2



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

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


Аватара для Ins_16

Пользователь


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

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


Спасибо

Отправлено: 13:47, 12-12-2010 | #3


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


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

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


для 7z можно так
for %%i in (%_in%\*.*) do "%_arcpath%\7z" a "%_out%\%%~ni.7z" "%%i"
Если что не понятно, можно посмотреть здесь Каждый файл в отдельный архив

Отправлено: 04:35, 16-11-2012 | #4


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


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

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


for %%i in (%_in%\*.*) do "%_arcpath%\7z" a "%_out%\%%~ni.7z" "%%i"
это просто отлично, а как быть чтоб он упаковывал каталоги можно по списку, можно и все что есть в текущем каталоге

Отправлено: 18:38, 26-11-2012 | #5


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


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

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


чтобы скрипт рекурсивно упаковывал каталоги, нужно добавить ключик -r

Отправлено: 02:58, 27-11-2012 | #6


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


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

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


Цитата oma51:
чтобы скрипт рекурсивно упаковывал каталоги, нужно добавить ключик -r »
это я так понимаю
set _in=d:\1
set _out=d:\2
set _arcpath=c:\Program Files\7-zip
for %%i in (%_in%\*) do "%_arcpath%\7z" a -r "%_out%\%%~ni.7z" "%%i"
каталоги не берет в расчет (

Отправлено: 10:11, 27-11-2012 | #7


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


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

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


Цитата cezar_bd:
каталоги не берет в расчет ( »
необходимо было чуточку по другому
всем спасибо

for /d %%i in (%_in%\*) do "%_arcpath%\7z" a "%_out%\%%~ni.7z" "%%i"

Отправлено: 12:42, 27-11-2012 | #8


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


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

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


Прошу помочь так как не разбираюсь в вопросе.

Есть:
- каталог с вложенными каталогами в которых файлы fb2.
- WinRar с настроенным профилем архивирования - отдельно создает zip архив для каждого файла и удаляет исходный файл.

Нужно: Рекурсивно проверить все вложенные папки, выделить файлы, запустить упаковку WinRar-ом.

Беда в том что папок несколько тысяч и ручками слишком долго заходить в каждую.

Хотелось бы батник который сможет это сделать.

Отправлено: 16:08, 24-03-2018 | #9


Ветеран


Contributor


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

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


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

Set "BoxIn=Z:\Box_In"
Set "Maska=*.fb2"
Set "BoxArc=Z:\Box_Arc"

Set "Arc="C:\Program Files\WinRAR\WinRAR.exe" a -ep -ibck -afzip -df"

FOR /F "usebackq delims=" %%f IN (`2^>nul Dir "%BoxIn%\%Maska%" /b /s /a:-d`) DO (
	Echo %%f
	%Arc% "%BoxArc%\%%~nxf.zip" "%%f"
)
Pause
Не очень понял, что Вам надо.
Скрипт просматривает указанную папку с подпапками Dir
Ищет файлы по указанной маске /b /s /a:-d
Архивирует в фоновом режиме -ibck каждый файл отдельно в zip в указанную папку -afzip
В архиве путь файла исключается -ep
Исходные файлы удаляются -df
При совпадении имён файлов заархивированным останется один из них.

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


Последний раз редактировалось megaloman, 24-03-2018 в 18:59.

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

Отправлено: 18:32, 24-03-2018 | #10



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

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

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
CMD/BAT - [решено] Копирование строк в отдельный файл по условию Seryoga204 Скриптовые языки администрирования Windows 26 24-08-2016 23:33
CMD/BAT - [решено] Поиск строк с указанным словом и копирование их в отдельный файл Maartimus Скриптовые языки администрирования Windows 2 13-07-2010 20:25
Общее - [решено] Экспорт издания в отдельный WIM-файл САШOК Автоматическая установка Windows 11 / 10 / 8 / 7 / Vista 7 03-06-2009 01:41
Вывод размера папки в отдельный файл скриптом Whiteee Microsoft Windows NT/2000/2003 1 16-07-2008 14:06
[решено] Архивация каждого файла в отдельный архив vadimiron Общий по Linux 10 15-08-2007 14:24




 
Переход