Форум программистов, компьютерный форум, киберфорум
Batch (CMD/BAT)
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.86/7: Рейтинг темы: голосов - 7, средняя оценка - 4.86
0 / 0 / 0
Регистрация: 16.08.2015
Сообщений: 5
1

Архивация измененных/добавленных файлов

02.01.2016, 22:45. Просмотров 1289. Ответов 2
Метки нет (Все метки)

Здравствуйте.
Помогите пожалуйста написать батник, который будет архивировать только измененные и новые добавленные файлы.
- Полный путь к папке для архивирования задается вручную (copy/past) пользователем через интерфейс CMD
- Используется консольный архиватор 7-zip Игоря Павлова
Windows Batch file
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
@echo off
:start
cls
set load=
set 7zip=
echo.
set /p load=Specify path backup
if "%load%"=="" goto start
cls 
:copy
set 7zip=backup.7z
if exist .\APP\%7zip% goto end 
7z.exe a -t7z -bd -v1024mb -m0=bcj2 -m2=delta -m3=lzma2:15 -si "%load%\*"
:end 
pause
:EOF
Алгоритм следующий:
В папку "C:\APP\*" копируются данные. После операции копирования данных, необходимо вручную запустить батник, который сделает "снимок" полной иерархии структуры папок и посчитает хеш-сумму для всех файлов в директории APP с выводом лога в файл snapshot.log Далее папка APP очищается и в неё копируется новая порция данных. Вновь запускаем тот же батник, который по предыдущему "снимку" сопоставит, проанализирует и создаст архив с сохранением полной иерархии всех папок включающий в себя только отличающиеся файлы.
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
02.01.2016, 22:45
Ответы с готовыми решениями:

Отлавливание добавленных и изменённых файлов
Доброго времени суток! Как создать батник при помощи которого возможно,например,при установке...

Копирование отсутствующих и изменённых файлов по результатам сверки файлов одного каталога с файлами другого
Всем привет. такая вот задача у меня. я не селен в этом. но стараюсь. есть 2 каталога (1. NEW, 2....

Копирование только изменённых файлов
Есть два древа папок. В одном обновленная версия игры (древо1), в другом старая (древо2). Причем не...

Поиск и копирование только измененных файлов
Вот есть такой код: SET f=%~dp0 ::Сканирование ветки реестра КонсультантПлюс. В ней...

2
3430 / 1969 / 634
Регистрация: 26.02.2014
Сообщений: 1,457
04.01.2016, 06:02 2
Лучший ответ Сообщение было отмечено DianaKonovalova как решение

Решение

Цитата Сообщение от DianaKonovalova Посмотреть сообщение
Алгоритм следующий:
В папку "C:\APP\*" копируются данные. После операции копирования данных, необходимо вручную запустить батник, который сделает "снимок" полной иерархии структуры папок и посчитает хеш-сумму для всех файлов в директории APP с выводом лога в файл snapshot.log Далее папка APP очищается и в неё копируется новая порция данных. Вновь запускаем тот же батник, который по предыдущему "снимку" сопоставит, проанализирует и создаст архив с сохранением полной иерархии всех папок включающий в себя только отличающиеся файлы.


Windows Batch file
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
@echo off
 
set "arch=%ProgramFiles%\7-Zip\7z.exe"
 
set "source=C:\APP"
set "destination=C:\Test\changes.7z"
 
set "log=snapshot.log"
 
for /f "tokens=1,2*" %%i in ('
 ""%arch%" h "%source%"| findstr/rc:"^^.[^^-acioRv][^^ ]* ^ *[^^ ][^^ ]* ^ .""
') do (
 >>.tmp echo %%k^|%%i& if exist "%log%" (
  for /f "tokens=2 delims=|" %%l in ('findstr/bilc:"%%k|" "%log%"') do (
   if %%l equ %%i >>exclude.txt echo %%k
  )
 )
)
if exist "%log%" (
 "%arch%" a -x@exclude.txt "%destination%" "%source%"
 del exclude.txt
)
>nul move .tmp "%log%"
 
exit/b
2
0 / 0 / 0
Регистрация: 16.08.2015
Сообщений: 5
05.01.2016, 22:41  [ТС] 3
ComSpec, великолепно, всё работает как надо. Благодарю за помощь!
Подсчёт хеша всех файлов и сам backup для выборки можно организовать из-под консольного архиватора Arc.exe?
В доке нашла необходимую опцию --crconly, но не пойму, какой должен быть синтаксис командной строки в батнике.
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
05.01.2016, 22:41

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

Сравнение двух папок с копированием измененных файлов
Всем привет! Дано 2 папки с файлами и подпапками. F:\Folder1 - рабочая папка F:\Folder2 - папка...

Вывод имён файлов, добавленных за текущий день в определённую папку
Например есть папка в которой много файлов и старых и новых , надо чтобы в этой папке показывало...

Архивация по 50 файлов
Есть одна папка в которой n картинок. Я вбрасываю в нее и жму name.bat Скрипт создает внутри...

Архивация файлов
Здравствуйте, как отредактировать данную строку так, чтоб в архиве были только файлы и подпапки?...


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

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2020, vBulletin Solutions, Inc.