Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » Любой язык - Автоматическое архивирование

Ответить
Настройки темы
Любой язык - Автоматическое архивирование

Новый участник


Сообщения: 42
Благодарности: 0


Конфигурация

Профиль | Отправить PM | Цитировать


День добрый,

задача встала довольно запутанная, в принципе можно cmd или powershell, также без разницы winrar или 7zip

собственно задача
есть папки
c:\source\in
c:\source\out
c:\source\compl
c:\source\eror

в каждой папке есть файл in.dat, out.dat, compl.dat, eror.dat, который архивировать не нужно, для остальных файлов - создать архив, допустим в c:\archive\дата_создания.zip/rar ну и внутри собственно эти папки.

после создания архива добавить строчку отчета в c:\source\archive.log (дата/время заархивировано 100500 файлов) и для полного счастья из папок удалить файлы старше недели, файлы in.dat, out.dat, compl.dat, eror.dat не трогать.. если же архивирование не удалось по какой либо причине - записать ошибку и файлы соответственно не удалять

как то так

Отправлено: 07:08, 02-06-2023

 

Аватара для DJ Mogarych

fascinating rhythm


Moderator


Сообщения: 6496
Благодарности: 1466

Профиль | Отправить PM | Цитировать


Читали?
http://forum.oszone.net/search.php?searchid=12832156

Если с командной строкой на "вы", возьмите что-нибудь типа Cobian Reflector.

-------
Powershell 7.x | Powershell 5.1 | ffmpeg (docs)


Последний раз редактировалось DJ Mogarych, 02-06-2023 в 13:43.


Отправлено: 13:38, 02-06-2023 | #2



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

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


Новый участник


Сообщения: 42
Благодарности: 0

Профиль | Отправить PM | Цитировать


DJ Mogarych, в принципе что хотел за день сделал +-

Код: Выделить весь код
chcp 1251
@echo off

Set Kuda="C:\arch"
Set List="C:\test\bak.lst"

"%programfiles%\WinRar\Winrar.exe" a -x@C:\test\iskl.lst -r -ep1 -ilog%Kuda%\%date%_backup.log -logf=%Kuda%\%date%_backup.txt -m1 %Kuda%\%date%_backup.rar @%List%
единственная задача осталась, удалить файлы из 3 папок.. за исключением in.dat, out.dat, compl.dat, eror.dat, пробовал заменить команду А на М или добавить ключ -df, но он при этом пытается удалить саму папку, тк файл внутри я добавил в исключение, он видит что папка не пуста и не удаляет.. но задача очистить папку внутри, а не удалить ее!

смотрю на Forfiles, но там нет флага исключения.. как удалить все внутри папки кроме 1 файла?

Отправлено: 14:42, 02-06-2023 | #3


Ветеран


Contributor


Сообщения: 2710
Благодарности: 1686

Профиль | Отправить PM | Цитировать


Код: Выделить весь код
@Echo Off &Cls
	Set "BoxIn=Z:\Source"
	Set "BoxOut=Z:\Box_Arc"
	Set /A Old=7

	Set "Arc=C:\Program Files\WinRar\WinRAR.exe"
	Set "Excl=-x*\in.dat -x*\out.dat -x*\compl.dat -x*\eror.dat"

	"%Arc%" a -r %Excl% -AGYYYYMMDD -to%Old%d -df "%BoxOut%\.rar" "%BoxIn%\"
	"%Arc%" a -r %Excl% -AGYYYYMMDD "%BoxOut%\.rar" "%BoxIn%\"
pause
Exit /B
Пути пропишите свои
Не знаю, насколько существенно, у меня WinRar 6.11
С лог-файлом архива
Код: Выделить весь код
@Echo Off &Cls
	Set "BoxIn=Z:\Source"
	Set "BoxOut=Z:\Box_Arc"
	Set /A Old=7

	Set "Dt=%Date:~-4%%Date:~3,2%%Date:~0,2%"
	Set "Log=Z:\Box_Arc\%Dt%.Log"

	Set "Arc=C:\Program Files\WinRar\RAR.exe"
	Set "Excl=-x*\in.dat -x*\out.dat -x*\compl.dat -x*\eror.dat"

	2>"%Log%" "%Arc%" a -r %Excl% -to%Old%d -df "%BoxOut%\%Dt%.rar" "%BoxIn%\"
	2>>"%Log%" "%Arc%" a -r %Excl% "%BoxOut%\%Dt%.rar" "%BoxIn%\"

	>>"%Log%" "%Arc%" l "%BoxOut%\%Dt%.rar"
Exit /B
Важно: формат даты в системе дд.мм.гггг

-------
Даже самая сложная проблема обязательно имеет простое, лёгкое для понимания, неправильное решение. Каждое решение плодит новые проблемы.


Последний раз редактировалось megaloman, 02-06-2023 в 19:22.


Отправлено: 16:23, 02-06-2023 | #4


Новый участник


Сообщения: 42
Благодарности: 0

Профиль | Отправить PM | Цитировать


megaloman,
>>"%Log%" "%Arc%" l "%BoxOut%\%Dt%.rar

тут что должно было быть?

winrar ругается что не знает команды L

ну и лога естественно нема (

Последний раз редактировалось John87, 05-06-2023 в 11:42.


Отправлено: 11:29, 05-06-2023 | #5


Ветеран


Contributor


Сообщения: 2710
Благодарности: 1686

Профиль | Отправить PM | Цитировать


John87, У Winrar.exe нет команды L, а у Rar.exe есть. Я Вам дал два рабочих кода. Обратите внимание, там разные .exe

-------
Даже самая сложная проблема обязательно имеет простое, лёгкое для понимания, неправильное решение. Каждое решение плодит новые проблемы.


Отправлено: 12:25, 05-06-2023 | #6


Новый участник


Сообщения: 42
Благодарности: 0

Профиль | Отправить PM | Цитировать


megaloman, с разными рар понял, в другом запутался (
Код: Выделить весь код
2>"%Log%" "%rar%" a -r -ibck %Excl% -to%Old%d -df "%BoxOut%\%Dt%.rar" "%BoxIn%\"
2>>"%Log%" "%rar%" a -r -ibck %Excl% "%BoxOut%\%Dt%.rar" "%BoxIn%\"
при такой постановке он новый файл в папке не удаляет (что правильно), но зачем то добавляет его в архив

впрочем, если старые будут удалены и запускать раз в неделю то разницы большой нет, просто как заметка

Отправлено: 13:42, 05-06-2023 | #7



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » Любой язык - Автоматическое архивирование

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
CMD/BAT - Архивирование John87 Скриптовые языки администрирования Windows 1 02-05-2023 15:49
CMD/BAT - Архивирование stolyar Скриптовые языки администрирования Windows 8 28-03-2010 13:33
[решено] Автоматическое архивирование DHCP Server2003 Diesel315 Microsoft Windows NT/2000/2003 5 10-01-2009 08:53
[решено] Автоматическое архивирование журнала событий win2003 GreenIce Microsoft Windows NT/2000/2003 5 23-02-2008 13:04
Архивирование Maniacosaur Программирование и базы данных 6 27-08-2002 21:34




 
Переход