Различия
Показаны различия между двумя версиями страницы.
| Предыдущая версия справа и слева Предыдущая версия Следующая версия | Предыдущая версия | ||
| sysadmin:scripts:bat:arhive [03:02:2025 10:54] – School Sysadmin | sysadmin:scripts:bat:arhive [06:11:2025 15:07] (текущий) – School Sysadmin | ||
|---|---|---|---|
| Строка 1: | Строка 1: | ||
| - | ====== Архив каталога ====== | + | ====== Архивирование |
| - | Архивировние каталога с файлами. | + | ===== Архивировние каталога с файлами |
| + | ==== Парметры передаются в скрипте ==== | ||
| <file bash arhive.bat> | <file bash arhive.bat> | ||
| cls | cls | ||
| Строка 26: | Строка 27: | ||
| for /d %%A in (%_in%\*) do " | for /d %%A in (%_in%\*) do " | ||
| </ | </ | ||
| + | ==== Параметры передаются в строке запуска ==== | ||
| + | arch.bat %1 %2 %3 %4 %5, где:\\ | ||
| + | %1 - режим работы с локальными дисками (local) или с сетевыми (samba);\\ | ||
| + | %2 - каталог источник (ИЗ);\\ | ||
| + | %3 - каталог назначения (В);\\ | ||
| + | %4 - Имя пользователя для доступа к сетевому ресурсу; | ||
| + | %5 - Пароль для доступа к сетевому ресурсу.\\ | ||
| + | <file bash arch.bat> | ||
| + | @echo off | ||
| + | SetLocal EnableExtensions | ||
| + | chcp 866 >nul | ||
| + | rem Версия 0.3 | ||
| + | rem Возможность передавать в скрипт параметры | ||
| + | rem Каталог источник и назначения | ||
| + | cls | ||
| + | title .: Архивация каталогов с файлами v0.3 :. | ||
| + | |||
| + | rem Режим производительности ПК. Узнайте свой GUID командой powercfg /L | ||
| + | set balance=381b4222-f694-41f0-9685-ff5bb260df2e | ||
| + | set max=8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c | ||
| + | |||
| + | rem Каталог со скриптом, | ||
| + | set _cns=%cd% | ||
| + | |||
| + | rem Каталог с 7z, изменить в случае необходимости | ||
| + | set _7zpath=%cd%\7z\x64 | ||
| + | rem Удаление пробела вначале | ||
| + | rem set _time=%_time: | ||
| + | rem Замена пробела вначале на 0 | ||
| + | rem set _time=%_time: | ||
| + | set _date=%date: | ||
| + | set _time=%time: | ||
| + | set _date=%_date: | ||
| + | set _time=%_time: | ||
| + | set _date_dot=%date: | ||
| + | set _time_colon=%time: | ||
| + | set _date_dot=%_date_dot: | ||
| + | set _time_colon=%_time_colon: | ||
| + | |||
| + | rem Режм работы скрипта | ||
| + | rem local - работа с локальными дисками | ||
| + | rem samba - работа с сетевым ресурсом | ||
| + | set _mode=%~1 | ||
| + | |||
| + | rem Проверка режима работы | ||
| + | if " | ||
| + | goto lb_start | ||
| + | ) | ||
| + | if " | ||
| + | goto lb_start | ||
| + | ) | ||
| + | set error_txt=" | ||
| + | goto lb_error | ||
| + | |||
| + | :lb_start | ||
| + | |||
| + | rem Каталог источник с именем диска " | ||
| + | set _in=%~2 | ||
| + | if %_in: | ||
| + | if " | ||
| + | set error_txt=" | ||
| + | goto lb_error | ||
| + | ) | ||
| + | |||
| + | rem Каталог получатель с именем диска " | ||
| + | rem Сетевой ресурс и каталог должен существовать " | ||
| + | set _out=%~3 | ||
| + | if %_out: | ||
| + | if " | ||
| + | set error_txt=" | ||
| + | goto lb_error | ||
| + | ) | ||
| + | |||
| + | rem Извлечение буквы диска для подключения сетевого ресурса | ||
| + | for %%A in ( " | ||
| + | set _dl=%%~dA | ||
| + | set _path=%%~pA%%~nxA | ||
| + | ) | ||
| + | |||
| + | rem Включение максимальной производительности ПК | ||
| + | set _power=%max% | ||
| + | call :lb_power | ||
| + | |||
| + | if " | ||
| + | |||
| + | rem Имя пользователя | ||
| + | set _un=%~4 | ||
| + | if " | ||
| + | set error_txt=" | ||
| + | goto lb_error | ||
| + | ) | ||
| + | |||
| + | rem Пароль пользователя | ||
| + | set _up=%~5 | ||
| + | if " | ||
| + | set error_txt=" | ||
| + | goto lb_error | ||
| + | ) | ||
| + | |||
| + | if " | ||
| + | call : | ||
| + | set _out=%_dl% | ||
| + | net use %_dl% " | ||
| + | |||
| + | if errorlevel=1 ( | ||
| + | cls | ||
| + | set error_txt=" | ||
| + | goto lb_error | ||
| + | ) | ||
| + | call : | ||
| + | |||
| + | rem Отключение сетевого ресурса | ||
| + | echo | ||
| + | net use /del %_dl% /y | ||
| + | ) | ||
| + | exit | ||
| + | |||
| + | : | ||
| + | |||
| + | chcp 866 >nul | ||
| + | echo ---------------------------------------------------- | ||
| + | echo Режим работы скрипта: | ||
| + | echo Дата: %_date% | ||
| + | echo Время: %_time% | ||
| + | echo Каталог c программой 7z: %_7zpath% | ||
| + | echo Каталог со скриптом (каталог запуска): | ||
| + | echo Каталог источник (из): %_in% | ||
| + | echo Каталог назначения (в): %_out% | ||
| + | if %_mode%==samba ( | ||
| + | echo Имя пользователя: | ||
| + | echo Пароль пользователя " | ||
| + | echo Каталог с сетевым ресурсом: | ||
| + | echo net use %_dl% \%_path% /user:%_un% " | ||
| + | ) | ||
| + | echo ---------------------------------------------------- | ||
| + | rem pause | ||
| + | exit /b | ||
| + | |||
| + | : | ||
| + | if not exist " | ||
| + | mkdir %_out%\logs | ||
| + | ) | ||
| + | if not exist " | ||
| + | mkdir %_cns%\logs | ||
| + | ) | ||
| + | chcp 1251 >nul | ||
| + | echo %_date_dot% - %_time_colon% >> " | ||
| + | echo %_date_dot% - %_time_colon% >> " | ||
| + | |||
| + | for /d %%A in (" | ||
| + | " | ||
| + | |||
| + | echo %_out%\%_date%-%_time%\%%~nxA.7z >> " | ||
| + | rem echo %_out%\%_date%-%%~nxA.7z >> " | ||
| + | chcp 866 >nul | ||
| + | ) | ||
| + | rem Создание пустой строки в лог файле | ||
| + | echo. >> " | ||
| + | echo. >> " | ||
| + | chcp 866 >nul | ||
| + | set _power=%balance% | ||
| + | call :lb_power | ||
| + | exit /b | ||
| + | |||
| + | :lb_error | ||
| + | cls | ||
| + | color 0e | ||
| + | echo %error_txt% | ||
| + | chcp 1251 >nul | ||
| + | echo %_date_dot% >> " | ||
| + | echo %_time_colon% - %error_txt% >> " | ||
| + | chcp 866 >nul | ||
| + | TIMEOUT /T 3 >nul | ||
| + | cls & color | ||
| + | exit /b | ||
| + | |||
| + | :lb_power | ||
| + | rem Управление производительностью | ||
| + | powercfg -setactive %_power% | ||
| + | exit /b | ||
| + | </ | ||
| + | |||
| + | Что бы запустить в " | ||
| + | Действия - Запуск программы\\ | ||
| + | Программа или сценарий - cmd.exe\\ | ||
| + | Добавить аргумент (если в сети)\\ | ||
| + | < | ||
| + | Рабочая папка - c:\script | ||