Форум программистов, компьютерный форум, киберфорум
Batch (CMD/BAT)
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.74/34: Рейтинг темы: голосов - 34, средняя оценка - 4.74
0 / 0 / 0
Регистрация: 28.12.2015
Сообщений: 13
1

Установка пароля на архив и добавление комментария к архиву в процессе архивации

29.12.2015, 19:59. Показов 6230. Ответов 24

Author24 — интернет-сервис помощи студентам
Интересует добавление пароля при архивации и комента к архиву

через
Windows Batch file
SET PASSWD=pass
не работает

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
26
27
28
29
30
31
32
@echo off
chcp 1251
rem Указываем каталоги назначения
SET LOGPATH=G:\backup
SET DESTNAME=G:\backup
  
rem Имя создаваемого файла
SET FILENAME1=test
SET FILENAME2=test
  
rem Что архивируем
SET SRC1=C:\Users\test
SET SRC2=C:\Users\test
  
rem Проверяем наличие лог-файлов и бекапим на всякий случай
if not exist %LOGPATH%\backup_new.log goto work
del %LOGPATH%\backup_oldest.log
ren %LOGPATH%\backup_old.log backup_oldest.log
ren %LOGPATH%\backup_new.log backup_old.log
 
rem Переходим к архивации
:work
ECHO Проверка старых архивов %FILENAME1%... >%LOGPATH%\backup_new.log
if not exist %DESTNAME%\%FILENAME1%_new.rar goto next
ECHO Удаление %FILENAME1%_oldest.rar и переименование... >>%LOGPATH%\backup_new.log
del %DESTNAME%\%FILENAME1%_oldest.rar
ren %DESTNAME%\%FILENAME1%_old.rar %FILENAME1%_oldest.rar
ren %DESTNAME%\%FILENAME1%_new.rar %FILENAME1%_old.rar
:next
ECHO Архивирование %FILENAME1%... >>%LOGPATH%\backup_new.log
"C:\Program Files\WinRAR\rar" a -r %DESTNAME%\%FILENAME1%_new.rar %SRC1%\*.* >>%LOGPATH%\backup_new.log
ECHO Готово... >>%LOGPATH%\backup_new.log
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
29.12.2015, 19:59
Ответы с готовыми решениями:

Подбор пароля к архиву
Доброго времени суток. Кто-нибудь может написать прогу на java, которая подбирает пароль к...

Многопоточный подбор пароля к архиву zip
Добрый день! Задача такая:распаковать zip-архив,защищенный паролем(разбить на потоки). С работой...

Упаковка в архив (с использованием пароля на архив) и отправка по почте
Помогите с написанием макроса, который будет упаковывать книгу в архив (книга по-умолчанию...

Как сделать так, чтобы запрос на ввод пароля к архиву не выводился?
Приветствую всех. Вкратце о сути проблемы. Работает батничек который из расшаренных ресурсов...

24
10582 / 5545 / 864
Регистрация: 07.04.2013
Сообщений: 15,660
29.12.2015, 20:20 2
Лучший ответ Сообщение было отмечено Anatory как решение

Решение

Windows Batch file
1
"C:\Program Files\WinRAR\rar.exe" a %DESTNAME%\%FILENAME1%_new.rar %SRC1%\*.* -r -zD:\COMMENT_FILE.txt -pPASSWORD >>%LOGPATH%\backup_new.log
1
0 / 0 / 0
Регистрация: 28.12.2015
Сообщений: 13
29.12.2015, 20:23  [ТС] 3
Т.е комент должен лежать вместе с батником в txt?
0
10582 / 5545 / 864
Регистрация: 07.04.2013
Сообщений: 15,660
29.12.2015, 20:28 4
Можно и полный путь указывать.
1
0 / 0 / 0
Регистрация: 28.12.2015
Сообщений: 13
29.12.2015, 20:32  [ТС] 5
комент почему-то не хочет открывать без полного пути, независимо от того, что он лежит в папочке с батником
0
10582 / 5545 / 864
Регистрация: 07.04.2013
Сообщений: 15,660
29.12.2015, 20:34 6
В начало батника допишите
Windows Batch file
cd /d "%~dp0"
Покажите, как указываете

Добавлено через 31 секунду
Может от ищет файл в своей папке C:\Program Files\WinRAR
0
0 / 0 / 0
Регистрация: 28.12.2015
Сообщений: 13
29.12.2015, 20:38  [ТС] 7
Цитата Сообщение от vavun Посмотреть сообщение
\COMMENT_FILE.txt
пробовал вот как и писали, но работает лишь так

Windows Batch file
1
-zE:\local_folder\Desktop\beta\comment.txt
Цитата Сообщение от vavun Посмотреть сообщение
Может от ищет файл в своей папке C:\Program Files\WinRAR
походу так оно и есть, исходя из кода.
Тогда как вариант, залить комент в директорию архива или полный путь
0
10582 / 5545 / 864
Регистрация: 07.04.2013
Сообщений: 15,660
29.12.2015, 20:43 8
Anatory, если файл рядом с батником

Windows Batch file
-zCOMMENT_FILE.txt
Черты там нет

Если нет, то
Windows Batch file
-zD:\COMMENT_FILE.txt
Черта - часть полного пути

Добавлено через 3 минуты
В крайнем случае можно вот так
Windows Batch file
-z"%~dp0COMMENT_FILE.txt"
1
0 / 0 / 0
Регистрация: 28.12.2015
Сообщений: 13
29.12.2015, 20:44  [ТС] 9
vavun, вот теперь все стало на свои места
а для чего это?
Цитата Сообщение от vavun Посмотреть сообщение
cd /d "%~dp0"
0
10582 / 5545 / 864
Регистрация: 07.04.2013
Сообщений: 15,660
29.12.2015, 20:48 10
Цитата Сообщение от Anatory Посмотреть сообщение
а для чего это?
Батник переходит в директорию своего собственного расположения.

то есть "%~dp0" всегда = директория расположения батника.
1
0 / 0 / 0
Регистрация: 28.12.2015
Сообщений: 13
29.12.2015, 21:10  [ТС] 11
vavun, А вот как создавать папку с датой при бекапе?
пробовал
Windows Batch file
1
md %systemdrive%\%date:~6,4%_%date:~3,2%_%date:~0,2%
но при подставления к каталогу, создает в директории диска С
0
10582 / 5545 / 864
Регистрация: 07.04.2013
Сообщений: 15,660
29.12.2015, 21:16 12
Цитата Сообщение от Anatory Посмотреть сообщение
создает в директории диска С
Все верно )) у вас же указана переменная %systemdrive%, вот от там и создает

Windows Batch file
md D:\SomeFolder\%date%
1
0 / 0 / 0
Регистрация: 28.12.2015
Сообщений: 13
29.12.2015, 21:25  [ТС] 13
vavun,
ммм вот теперь нюанс, если добавлю к каталогам, будет ли перезаписываться вся папка?
Windows Batch file
1
2
3
4
rem Указываем каталоги назначения
SET LOGPATH=G:\backup\logs
SET DESTNAME=G:\backup\%date:~6,4%_%date:~3,2%_%date:~0,2%
md  G:\backup\%date:~6,4%_%date:~3,2%_%date:~0,2%
0
10582 / 5545 / 864
Регистрация: 07.04.2013
Сообщений: 15,660
29.12.2015, 21:30 14
Если честно я не понял вопроса.
0
0 / 0 / 0
Регистрация: 28.12.2015
Сообщений: 13
29.12.2015, 21:35  [ТС] 15
vavun, я имел ввиду, что при открытие батника, команда
Windows Batch file
1
md  G:\backup\%date:~6,4%_%date:~3,2%_%date:~0,2%
в нашем случае будет перезаписывать папочку backup, т.е удаляя ее старые файлы не сохраняя их. =)
Вот сейчас дописал вот такой вот код
Windows Batch file
1
2
3
4
md  G:\backup\%date:~6,4%_%date:~3,2%_%date:~0,2%\logs
SET LOGPATH=G:\backup\%date:~6,4%_%date:~3,2%_%date:~0,2%\logs
md  G:\backup\%date:~6,4%_%date:~3,2%_%date:~0,2%
SET DESTNAME=G:\backup\%date:~6,4%_%date:~3,2%_%date:~0,2%
он является правильным, если мне нужна директория с датой и бэкапом?
Но тогда в данном случае удаление старых файлов в остальном коде будет не актуально, как я понмаю
0
10582 / 5545 / 864
Регистрация: 07.04.2013
Сообщений: 15,660
29.12.2015, 21:38 16
Цитата Сообщение от Anatory Посмотреть сообщение
будет перезаписывать папочку backup, т.е удаляя ее старые файлы не сохраняя их. =)
Нет, не будет )

сделайте так
Windows Batch file
1
2
set "DESTNAME=G:\backup\%date:~6,4%_%date:~3,2%_%date:~0,2%"
if not exist "%DESTNAME%" md "%DESTNAME%"
1
0 / 0 / 0
Регистрация: 28.12.2015
Сообщений: 13
29.12.2015, 21:41  [ТС] 17
vavun, а логи так и оставить?
или же по анологии их записать?
и дальнейшая работа кода с удалением можно смело убирать?
Windows Batch file
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
rem Проверяем наличие лог-файлов и бекапим на всякий случай
if not exist %LOGPATH%\backup_new.log goto work
del %LOGPATH%\backup_oldest.log
ren %LOGPATH%\backup_old.log backup_oldest.log
ren %LOGPATH%\backup_new.log backup_old.log
 
 
rem Переходим к архивации
:work
ECHO Проверка старых архивов %FILENAME1%... >%LOGPATH%\backup_new.log
if not exist %DESTNAME%\%FILENAME1%_new.rar goto next
ECHO Удаление %FILENAME1%_oldest.rar и переименование... >>%LOGPATH%\backup_new.log
del %DESTNAME%\%FILENAME1%_oldest.rar
ren %DESTNAME%\%FILENAME1%_old.rar %FILENAME1%_oldest.rar
ren %DESTNAME%\%FILENAME1%_new.rar %FILENAME1%_old.rar
:next
ECHO Архивирование %FILENAME1%... >>%LOGPATH%\backup_new.log
"C:\Program Files\WinRAR\rar.exe" a -r %DESTNAME%\%FILENAME1%_new.rar %SRC1%\*.* -r -zCOMMENT.txt -pAnatory >>%LOGPATH%\backup_new.log
ECHO Готово... >>%LOGPATH%\backup_new.log
0
10582 / 5545 / 864
Регистрация: 07.04.2013
Сообщений: 15,660
29.12.2015, 21:55 18
Лучший ответ Сообщение было отмечено Anatory как решение

Решение

Цитата Сообщение от Anatory Посмотреть сообщение
а логи так и оставить?
Как вам нравится

Цитата Сообщение от Anatory Посмотреть сообщение
и дальнейшая работа кода с удалением можно смело убирать?
Как вам нравится #2

на самом деле очень много лишнего

Я бы вообще на вашем месте сделал бы как то так
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
26
27
28
29
@echo off
setlocal enableextensions
cd /d "%~dp0"
 
 
set "SOURCE=C:\Users\test"
set "DESTNAME=G:\backup"
 
 
REM Имя архива
set count=1
set "postfix="
:ARNAME
set "ARCHIVE=%DESTNAME%\%date:~6,4%_%date:~3,2%_%date:~0,2%%postfix%.rar"
if exist "%ARCHIVE%" (
    set "postfix=_(%count%)"
    set /a count+=1
    goto ARNAME
)
 
(
REM Архивирование
"C:\Program Files\WinRAR\rar.exe" a %ARCHIVE% %SOURCE%\*.* -r -z"%~dp0COMMENT_FILE.txt" -pPASSWORD
 
REM Удаление всех архивов старше трех дней
forfiles /p "%DESTNAME%" /d -3 /m *.rar /c "cmd /c del @file"
) >>%DESTNAME%\backup_new.log 2>&1
 
exit /b
PS Не проверял
1
0 / 0 / 0
Регистрация: 28.12.2015
Сообщений: 13
29.12.2015, 22:06  [ТС] 19
Вполне рабочий, да покороче будет, а вот добавление мест откуда делать бэкап, пронумеровать SOURCE?
При повторном открытие не добавляет более обновленный

И при старом варианте изменения логов не работают
Windows Batch file
1
2
set "LOGPATH=G:\backup\%date:~6,4%_%date:~3,2%_%date:~0,2%\logs"
if not exist "%LOGPATH%" dm "%LOGPATH%"
0
10582 / 5545 / 864
Регистрация: 07.04.2013
Сообщений: 15,660
29.12.2015, 22:11 20
Цитата Сообщение от Anatory Посмотреть сообщение
Вполне рабочий, да покороче будет, а вот добавление мест откуда делать бэкап, пронумеровать SOURCE?
Я опять не понимаю вашего вопроса.

Цитата Сообщение от Anatory Посмотреть сообщение
И при старом варианте изменения логов не работают
Не dm, а md. Это я опечатался
0
29.12.2015, 22:11
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
29.12.2015, 22:11
Помогаю со студенческими работами здесь

Добавление даты к созданному архиву
Добрый день! Друзья, подскажите пожалуйста:в моем батнике делается копия базы данных firebird. Как...

Добавление файлов из каталога к архиву текущей недели
Мое задание: Создать задание которое добавляет файлы из каталога к архиву текущей недели. Архивы...

Добавление комментария в файл
В файле находится скрипт. Создать выходной файл, в который переписать содержимое исходного кода,...

Добавление комментария макросом
Ребят....сделал, чтобы к ячейке строки циклом привязывались комментарии с картинками. но размеры...

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

Добавление комментария к ячейке по условию
Добрый день. Помогите, пожалуйста, написать макрос. Суть задачи следующая: есть список клиентов,...


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

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru