Форум программистов, компьютерный форум, киберфорум
Batch (CMD/BAT)
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.68/292: Рейтинг темы: голосов - 292, средняя оценка - 4.68
0 / 0 / 0
Регистрация: 15.08.2012
Сообщений: 3

Архивация папок

15.08.2012, 22:19. Показов 54925. Ответов 37
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Прошу помощи в написании , казалось бы не сложного скриптика, но... Задача выполняемая скриптом следующая:
1) в корне диска есть папка (с:\folder)
2)в этой папке есть под-папки (с:\folder\1, с:\folder\2, с:\folder\n) папки динамические, добавляются и удаляются
3)необходимо каждую под-папку зажимать архиватором и класть в другую папку, к примеру (d:\folder_backup\1.rar, d:\folder_backup\2.rar, d:\folder_backup\n.rar)
Спасибо за любую информацию по данному вопросу.
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
15.08.2012, 22:19
Ответы с готовыми решениями:

Архивация вложенных папок
Уважаемые знатоки, помогите решить проблему. Есть файлы, которые требуется заархивировать WinRar, при помощи bat'ника хотелось бы...

Архивация выбранных папок+файлов в текущей директории
добрый день, понадобилось собирать zip-архив с нужными папками в текущей директории с помощью bat. Есть 3-4 папки и 1-2-3 файла в...

Архивация папок с сохранением имени 7zip, winrar. Батник
С новым годом! Есть папка C:\test1. В ней будут появляться папки с разными названиями (к примеру papka1, papka2, papka3) в которых...

37
Клюг
 Аватар для Charles Kludge
7677 / 3192 / 382
Регистрация: 03.05.2011
Сообщений: 8,380
19.08.2012, 14:45
Студворк — интернет-сервис помощи студентам
Цитата Сообщение от Rolan_Pro
chcp 1251
Попробуйте @chcp 1251 - где-то я на эти грабли наступал.
0
 Аватар для Rolan_Pro
6 / 6 / 0
Регистрация: 20.04.2011
Сообщений: 98
19.08.2012, 16:42

Так выглядит мой код.
____________

Dragokas, Команда вывела список файлов и папок, больше ничего.

Добавлено через 1 минуту
Charles Kludge, тоже самое.
0
Клюг
 Аватар для Charles Kludge
7677 / 3192 / 382
Регистрация: 03.05.2011
Сообщений: 8,380
19.08.2012, 16:50
Кодовая страница cp1251 в консоли: как быть и что делать?
0
 Аватар для Rolan_Pro
6 / 6 / 0
Регистрация: 20.04.2011
Сообщений: 98
19.08.2012, 21:12
Да я просто сменил шрифт в консоли и всё, теперь всё по русски. Спасибо.
Но скрипт всё же не работает.
0
0 / 0 / 0
Регистрация: 16.07.2015
Сообщений: 2
31.07.2015, 10:33
Цитата Сообщение от Dragokas Посмотреть сообщение
chcp 866>nul
Что это означает?
0
Эксперт WindowsАвтор FAQ
 Аватар для Dragokas
18035 / 7738 / 892
Регистрация: 25.12.2011
Сообщений: 11,502
Записей в блоге: 16
31.07.2015, 11:16
Смена кодовой страницы консоли.
0
0 / 0 / 0
Регистрация: 30.08.2015
Сообщений: 4
30.08.2015, 15:23
Цитата Сообщение от Dragokas Посмотреть сообщение
Bash
1
2
3
4
5
6
7
8
9
10
11
12
@echo off
Setlocal EnableExtensions EnableDelayedExpansion
chcp 1251>nul
set From=c:\из какой папки архивируем подкаталоги
set Fld=c:\в какой папке создать архивы
if not exist "%Fld%" mkdir "%Fld%"
for /f "delims=" %%i in ('dir "%From%" /b /a:d') do (
  set /a n+=1
  "%ProgramFiles%\WinRAR\Rar.exe" a -ep1 "%Fld%\!n!.rar" "%From%\%%i"
)
chcp 866>nul
pause
________________________________________ __

Здравствуйте.
Отредактируйте пожалуйста мне код чтоб Батник создавал папки с датой и старые не удалял, а имя архива не менялось.
Пример:
Папка:
"1C_backup" в ней папки:
25.08.15
26.08.15
27.08.15
28.08.15
итд итп

и в этих папках с датами архив по именем "DB"
0
4340 / 2130 / 661
Регистрация: 26.04.2015
Сообщений: 6,823
30.08.2015, 16:30
Amaramar,
Цитата Сообщение от Amaramar Посмотреть сообщение
чтоб Батник создавал папки с датой
- сначала одну через год другую или сразу пол-миллиона через секунду. Какие условия на создание папки с датой, по появлению свежего архива "DB", тогда с какой интенсивностью появляется архив, если несколько раз в сутки, тогда он будет перезаписываться или же, вариант1 присваивать следующему имя "DB1", варинт2 давать папке имя не только даты но и времени.

Добавлено через 14 минут
Поставьте в строке 10 "md %date%", а в строке 11 "%Fld%\%date%\DB.rar".
1
0 / 0 / 0
Регистрация: 30.08.2015
Сообщений: 4
30.08.2015, 17:57
alpap, Ну думаю минимум один раз в сутки будет копироваться База 1с.

Windows Batch file
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
@echo off
Setlocal EnableExtensions EnableDelayedExpansion
chcp 1251>nul
// Из какой папки архивируем подкаталоги:
set From=C:\Users\Admin\Desktop\ots
// В какой папке создать архивы:
set Fld=C:\Users\Admin\Desktop\cyDa
if not exist "%Fld%" mkdir "%Fld%"
for /f "delims=" %%i in ('dir "%From%" /b /a:d') do (
  "md %date%"
  "%ProgramFiles%\WinRAR\Rar.exe" a -ep1 "%Fld%\%date%\DB.rar" 
 
"%From%\%%i"
)
chcp 866>nul
Pause

Добавил ваши строчки и вот что выдает:

0
1783 / 765 / 130
Регистрация: 09.04.2011
Сообщений: 1,330
30.08.2015, 20:59
Лучший ответ Сообщение было отмечено Amaramar как решение

Решение

Windows Batch file
1
2
3
4
5
6
7
8
9
10
11
12
13
14
@echo off
Setlocal EnableDelayedExpansion
 
:: Из какой папки архивируем подкаталоги:
set From=C:\1C-DB\N-2
:: В какой папке создать архивы:
set Fld=C:\1C_backup
:: создаём рабочие папки
if not exist "%Fld%\%date%" md "%Fld%\%date%"
:: создаём архив в папке с текущей датой
for /f "delims=" %%i in ('dir /b /a:d "%From%\*" 2^>nul') do (
"%ProgramFiles%\WinRAR\Rar.exe" a -ep1 "%Fld%\%date%\DB.rar" "%From%\%%i"
)
pause
1
0 / 0 / 0
Регистрация: 30.08.2015
Сообщений: 4
30.08.2015, 21:16
sov44,
Большое Спасибо, работает...
Теперь остался только один момент, на проверку заархивированной базы:
Так как я добавил в конце скрипта "Exit" и закинул скрипт в автозагрузку, как убедиться что архив заархивировался без ошибок?!?
Может добавить проверку в скрипт, чтоб при ошибках всплывало информационное окно.
Заранее благодарен за ответ...

Windows Batch file
1
2
3
4
5
6
7
8
9
10
11
12
13
14
@echo off
Setlocal EnableDelayedExpansion
 
:: Из какой папки архивируем подкаталоги:
set From=C:\1C-DB\N-2
:: В какой папке создать архивы:
set Fld=C:\1C_backup
:: создаём рабочие папки
if not exist "%Fld%\%date%" md "%Fld%\%date%"
:: создаём архив в папке с текущей датой
for /f "delims=" %%i in ('dir /b /a:d "%From%\*" 2^>nul') do (
"%ProgramFiles%\WinRAR\Rar.exe" a -ep1 "%Fld%\%date%\DB.rar" "%From%\%%i"
)
Exit
0
1783 / 765 / 130
Регистрация: 09.04.2011
Сообщений: 1,330
30.08.2015, 22:48
Цитата Сообщение от Amaramar Посмотреть сообщение
Может добавить проверку в скрипт, чтоб при ошибках всплывало информационное окно.
Окно при ошибках архивирования с логом в папке бэкапа.
Windows Batch file
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
@echo off
Setlocal EnableDelayedExpansion
 
:: Из какой папки архивируем подкаталоги:
set From=C:\1C-DB\N-2
:: В какой папке создать архивы:
set Fld=C:\1C_backup
:: создаём рабочие папки
if not exist "%Fld%\%date%" md "%Fld%\%date%"
:: создаём архив в папке с текущей датой
for /f "delims=" %%i in ('dir /b /a:d "%From%\*" 2^>nul') do (
>nul "%ProgramFiles%\WinRAR\Rar.exe" a "%Fld%\%date%\DB.rar" "%From%\%%i" -m5 -ep1 -ilog"%Fld%\%date%\err.log"
)
if %errorlevel% NEQ 0 (chcp 1251>nul& echo Ошибка создания архива!| msg *msgbox )
chcp 866>nul
 
Exit /b

Не по теме:

Amaramar, посмотрите в сторону бесплатного архиватора 7z, который жмёт гараздо сильнее WinRaR. И папку (строка 9) создавать не нужно

Windows Batch file
1
"%ProgramFiles%\7-Zip\7z.exe" a -m0=lzma2 -mx=9 "%Fld%\%date%\DB.7z" "%From%\%%i"

1
0 / 0 / 0
Регистрация: 30.08.2015
Сообщений: 4
31.08.2015, 09:33
sov44, Все работает на Ура
Сейчас закину батник в паку автозагрузки и буду иметь "с Вашей помощью" каждый день auto-backup 1С...
Думаю это "пик" автоматизации, куда более)!)!)
Псб огрмн.
0
0 / 0 / 1
Регистрация: 10.10.2017
Сообщений: 12
20.10.2017, 09:39
Цитата Сообщение от Anonymоus Посмотреть сообщение
@Echo Off
Set DataPath=C:\Temp
Set ArchPath=D:\Temp
Set SevenZipPath=%ProgramFiles%\7-Zip
Echo %Path%|Find "7-zip">nul||Set Path=%Path%;%SevenZipPath%
For /F "tokens=1-3 delims=." %%A In ("%Date%") Do (Set DD=%%A&Set MM=%%B&Set YY=%%C)
For /F "delims=" %%A In ('Dir "%DataPath%" /AD /B') Do (7z a "%ArchPath%\%DD%.%MM%.%YY:~2%_%%A.7z " "%DataPath%\%%A")
Pause&Exit
Где нужно добавить строку, чтобы еще он паролился?
0
4340 / 2130 / 661
Регистрация: 26.04.2015
Сообщений: 6,823
20.10.2017, 13:24
7z a ... -pPassword ...
0
0 / 0 / 0
Регистрация: 19.03.2018
Сообщений: 13
17.12.2021, 12:38
Добрый день , помогите со скриптом.
нужно чтобы 7zip архивировал 3 папки в 3 файла с названием папок (zip без сжатия)
пример Folder1_2021.12.17_Т2-25 в Folder1_2021.12.17_Т2-25.zip
пример Folder2_2021.12.17_Т2-25 в Folder2_2021.12.17_Т2-25.zip
пример Folder3_2021.12.17_Т2-25 в Folder3_2021.12.17_Т2-25.zip
но Folder1_ (Folder2_ , Folder3_ ) у меня постоянное название , а название 2021.12.17_Т2-25 будет постоянно изменятся.
0
4340 / 2130 / 661
Регистрация: 26.04.2015
Сообщений: 6,823
17.12.2021, 16:54
эти три папки FolderN_* лежат в одной папке или по разным путям - это важно.
Если в одной папке, то так:
Windows Batch file
1
2
3
4
5
@echo off
pushd "Диск:\Директория"
  for /f "delims=" %%a in ('dir /ad/b/s "Folder*"') do 7z a "%%a.zip" "%%a"
popd
pause
1
0 / 0 / 0
Регистрация: 19.03.2018
Сообщений: 13
20.12.2021, 14:18
alpap, Спасибо , немного поправил скрипт для своих нужд.
Windows Batch file
1
2
3
4
5
6
7
8
9
@echo off
pushd "\"
Set SevenZipPath=%ProgramFiles%\7-Zip
Echo %Path%|Find "7-zip">nul||Set Path=%Path%;%SevenZipPath%
for /f "delims=" %%a in ('dir /ad/b/s "Folder1_*"') do 7z a "%%a.zip" "%%a"
for /f "delims=" %%a in ('dir /ad/b/s "Folder2_*"') do 7z a "%%a.zip" "%%a"
for /f "delims=" %%a in ('dir /ad/b/s "Folder3_*"') do 7z a "%%a.zip" "%%a"
popd
pause
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
20.12.2021, 14:18

txt файл с именами папок внутри самих папок (в кодировке 1251)
Добрый вечер ) Есть несколько сотен папок, в каждой из которых нужно создать файл album.txt в котором будет записано имя этой папки...

Поиск по папок по маске и перемещение найденных папок в другие папки
Добрый день, у меня возникла проблема, прошу помочь в написании батника. Есть основная папка в которой будет находиться .bat файл. В...

Получить список папок и вложенных папок, отсортированных по размеру
Как можно получить список папок и вложенных папок, отсортированных по размеру

Иконки папок, батник на изменение группы папок
Здравстуйте :) Начну издалека. Имеется значит у меня набор портативных программок на все случаи жизни (ну или почти). Папка с кучей...

Архивация на лету
Возможно ли средствами windows (желательно CMD/BAT, но не обязательно) архивировать создаваемый файл "на лету", минуя его...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
38
Ответ Создать тему
Новые блоги и статьи
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр.
Jin X 06.09.2026
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр. Работая с форумом и нейросетями в браузере часто хочется что-то подкорректировать или добавить какого-то функционала. Ниже прикреплён. . .
Программа опроса у.з. расходомера SLS-720F
Argus19 02.09.2026
Программа опроса у. з. расходомера SLS-720F Программа опрашивает один раз в минуту три ультразвуковых расходомера SLS-720F через интерфейс RS-485 по протоколу Modbus RTU. Опрашиваются регистры. . .
Hyper-V: Компьютер должен поддерживать доверенный платформенный модуль 2.0.
Maks 31.08.2026
При установке Windows 11 на виртуальную машину Hyper-V 2-го поколения вылезла такая ошибка: Решение: в параметрах виртуальной машины, в разделе "Безопасность" (Security) активировать флаг. . .
Архитектура биовида Стива в Майнкрафте: Зачем бонобо кубический каннибализм
anaschu 30.08.2026
Кубический Вагинокапитализм в Minecraft: Математический инвариант ОДУ и рок Стивов-бонобо Главная задача разработанной «Модели Всего» — наглядно продемонстрировать наличие системной «судьбы». . .
Оттачиваю умение писать js программы.
russiannick 30.08.2026
Проектом выходного дня стало написание Книги шифров Виженера. Итогом стала версия 200, синий туман. Синий туман назван так, потому что замораживает текст под собой. Нажатие синих кнопок управляют. . .
мат медиц модель 30. презентация проекта
anaschu 27.08.2026
хоп хоп хоп хидахоп, а я кладую))
Как у меня протекала болезнь
zorxor 27.08.2026
Здравствуйте, друзья! Эта запись блога предназначена именно для вас - для моих дорогих друзей, которые знали меня лично. Чтобы ответить на вопрос - а что же со мной произошло на самом деле? Я учился. . .
Нашел вот забавное видео о измерениях. Лучшее что я видел на эту тему
kumehtar 26.08.2026
ILETXiw9bMQ Основная суть и тезисы по измерениям: 0D (Нулевое измерение): точка, не имеющая длины, ширины, высоты или объема. Объект не может перемещаться в 0D. 1D (Первое измерение):. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru