PDA

Показать полную графическую версию : нужна помощь с автоархивацией и установкой пароля.


Morozzz-dev
25-05-2022, 12:05
ДОбрый день.
помогите с созданием BAT Файла

суть задачи. есть папка с кучей подпапок и документами видео и картинками внутри, нужно создать BAT файл который бы при запуске его восновной папке хранения делал бы резервные копии всех файлов на отдельный диск со следующими параметрами.
1.структура папок должна остаться такой же как была
2.каждый файл в папке заархивирован в отдельный архив с одинаковым паролем
3. видео\фото файлы не сжимаются, вообще у остальных сила сжатия минимальная или так же отсутствует.
4.при повторном запуске этого файла, он бы перезаписывал более новые файлы, но при этом, для экономии времени, пропускал бы не менявшиеся файлы.
5. архив, больше чем в 1,5 гигабайт разбивался бы на несколько частей.

потребность тут такая, есть ноутбук, который к интернету подключается 1-2 раза в месяц, на рабочем столе которого "радивый" юзер хранит всю свою информацию за много лет, переодически обновляя некоторые файлы. но большая часть 300 гигового объема не обновляется никогда.
есть бесплатный терабайт от mail (не реклама просто часть вводной инфы) который через диск О подключается в момент соединения с нотбуком, но там больше 2х гигов скопировать нельзя файл.
есть потребность запускать вышеописанный скрипт, так чтобы он производил архивирование с автообновлением и обязательным шифрованием итогового бекапа, так как документы могут содержать конфиденциальную информацию.
сделал BAT. без архивации и пароля, но нужно шифрование и разбитие больших файлов на несколько частей. файл выглядит так сейчас, нужна помощь с доработкой

@echo off
chcp 1251 >nul
xcopy "%UserProfile%\Desktop\"*.* "o:\backup\" /s /e /d /c /i /y /z
pause


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

megaloman
25-05-2022, 16:18
@Echo Off
cls
>nul chcp 1251
Set "BoxIn=D:\CMD_Forum"
Set "BoxArc=D:\CmdArc"

Set "M0=.mp4.mp3.mpg.jpg.png.bmp.gif.pdf."
Set "M1=.xlsx.xlsm.docx.docm."
Set "Pass=MyPassWord"

Set "Arc="C:\Program Files\WinRAR\WinRAR.exe" U -ep -ibck -v1024m -p%Pass%"
Xcopy /T /E "%BoxIn%\*.*" "%BoxArc%\"
For /f "usebackq delims=" %%f In (`2^>nul Dir "%BoxIn%\*.*" /B /S /A:-D`) Do (
Set "Name=%%f"
Set "M=-m2"

Echo %M0%|>nul Find /I "%%~xf." &&Set "M=-m0"
Echo %M1%|>nul Find /I "%%~xf." &&Set "M=-m1"

Call Echo %%M%% "%%Name:%BoxIn%=%BoxArc%%%.Zip"
Call %Arc% %%M%% "%%Name:%BoxIn%=%BoxArc%%%.Zip" "%%f"
)
pause
Exit /B 0
Степень сжатия зависит от расширения файлов, для чего надо подкорректировать под ваши требования параметры:
без сжатия Set "M0=.mp4.mp3.mpg.jpg.png.bmp.gif.pdf."
с минимальным сжатием Set "M1=.xlsx.xlsm.docx.docm."
если расширения нет в этих параметрах, то берётся -m2
Пути пропишите свои.




© OSzone.net 2001-2012