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

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

Ответить
Настройки темы
Любой язык - [решено] Архивирование файлов в каталоге

Аватара для Tonny_Bennet

Ветеран


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


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

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


Здравствуйте.

Есть необходимость архивировать все файлы (кроме уже существующих архивов) в исходном каталоге. Имя архива должно полностью повторять имя файла за исключением расширения. Скрипт должен работать только в определённый промежуток времени (ночью). При создании архива исходный файл должен удаляться. Также нужно вести логи всего происходящего. Не желательно обращаться к WinRar т.к. это программа платная, а на работе с этим строго.


Есть опыт написание BAT-ников, и VBS-скриптов, но только исходя из готовых примеров.

Хотелось бы чтобы вы дали какие нибудь полезные ссылочки или учебники где всё подробно объясняется. Буду очень признателен

-------
Сообщение оказалось полезным? Кнопка Полезное сообщение располагается чуть ниже.


Отправлено: 11:36, 09-09-2010

 
kmc kmc вне форума

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


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

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


Добрый день!!!
В данных рассуждениях идёт речь об архивации файлов в определённой папке.Всё работает,спасибо.

Но вот вопрос,как переделать код для задачи архивации файлов и папок с вложенными файлов,хранящихся в одной папке.
То есть у меня есть папка допустим D:/Source,а в свою очередь в этой папке есть и файлы и папки в которых хранятся файлы.
И также стоит задача архивировать все данные в один файл.

За ранее благодарен

Отправлено: 08:45, 13-04-2011 | #11



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

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


Ветеран


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

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


Цитирую:
Цитата 7-Zip Command Line Version User's Guide:
a (Add) command
Adds files to archive.

Switches that can be used with this command

-r (Recurse)

Отправлено: 12:46, 13-04-2011 | #12

kmc kmc вне форума

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


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

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


Цитирую:
Цитата 7-Zip Command Line Version User's Guide:
a (Add) command
Adds files to archive.

Switches that can be used with this command

-r (Recurse)


Это к моему вопросу?

Отправлено: 09:13, 14-04-2011 | #13


Ветеран


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

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


kmc, да. Вы пробовали?

Для цитирования используйте тэг «quote».

Отправлено: 19:08, 14-04-2011 | #14

kmc kmc вне форума

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


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

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


Нет не пробовал.Честно говоря не пойму куда этот код вставлять-имеется ввиду после как строчек

Отправлено: 08:00, 15-04-2011 | #15


Аватара для zero55

Ветеран


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

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


предложу метод на powershell вот он

Отправлено: 11:50, 15-04-2011 | #16


Ветеран


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

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


Цитата kmc:
Честно говоря не пойму куда этот код вставлять-имеется ввиду после как строчек »
Примеры есть непосредственно в справке 7-Zip:
читать дальше »
Цитата -r (Recurse subdirectories) switch:

Examples
Код: Выделить весь код
7z l archive.zip *.doc -r-
lists all *.doc files that belong to the archived root directory in the archive.zip archive.
Код: Выделить весь код
7z a -tzip archive.zip -r src\*.cpp src\*.h
adds all *.cpp and *.h files from directory src and all it's subdirectories to the archive.zip archive.
Код: Выделить весь код
7z a archive.7z folder1\
adds all files from directory folder1 and all it's subdirectories to the archive.7z archive.
Код: Выделить весь код
7z a archive.7z -r folder2\
searches all folder2 directories in all subdirectories, and adds them (including all subdirectories) to the archive.7z archive.

Отправлено: 13:40, 15-04-2011 | #17

kmc kmc вне форума

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


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

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


Вот исходник,он в принципе такой же как здесь приводят в пример,единственное он не удаляет файлы которые берёт для архивирования.
Где здесь нужно поставить -r(.......) ????

Set Source=D:\Ser\Source
Set Arch=D:\Ser\Arch
Set ExtArc=7Z
Set LogFile=D:\Ser\Log\{Archives.log

Set PgmArc="C:\Program Files\7-Zip\7z.exe"

Set DirDay=%Arch%\%Date:~6,4%%Date:~3,2%%Date:~0,2%
md "%DirDay%"

FOR %%i IN ("%Source%\*.*") DO Call :Arhivator "%%i"
GoTo :Eof

:Arhivator

Set N=%DirDay%\%~nx1.%ExtArc%

%PgmArc% a "%N%" %1

If Exist "%N%" (
Echo %Date% %Time% %N% >>%LogFile%

)

Отправлено: 12:23, 19-04-2011 | #18


Ветеран


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

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


kmc, тогда сначала словами опишите, что Вам нужно.

Отправлено: 17:49, 19-04-2011 | #19

kmc kmc вне форума

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


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

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


На данном форуме,приведён пример программирования bat файла,где реализуется след. задача:
Происходит архивирование файлов,находящихся по указонному пути Set Source=D:\Ser\Source ,причём архивация идёт каждого файла в одну папку-на заархивированнной папке указывается дата архивации.Но у меня задача немного другая,мне требуется заархивировать также не только файлы находящиеся по указанному пути но папки и вложения в них(любые,как и папки и файлы).
Вот код который реализуется архивацию файлов,без папок и вложения.Смысл в том чтобы происходила архивация всего что находится в Source(папки,вложения в папки и т.д. -всё!!!) в один файл.

Set Source=D:\Ser\Source
Set Arch=D:\Ser\Arch
Set ExtArc=7Z
Set LogFile=D:\Ser\Log\{Archives.log

Set PgmArc="C:\Program Files\7-Zip\7z.exe"

Set DirDay=%Arch%\%Date:~6,4%%Date:~3,2%%Date:~0,2%
md "%DirDay%"

FOR %%i IN ("%Source%\*.*") DO Call :Arhivator "%%i"
GoTo :Eof

:Arhivator

Set N=%DirDay%\%~nx1.%ExtArc%

%PgmArc% a "%N%" %1

If Exist "%N%" (
Echo %Date% %Time% %N% >>%LogFile%

)

Отправлено: 08:10, 20-04-2011 | #20



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

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

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
CMD/BAT - [решено] узнать количество файлов в каталоге через CMD toro Скриптовые языки администрирования Windows 5 04-12-2013 06:31
Разное - [решено] Как получить список файлов находящихся в каталоге? Kocuk Microsoft Windows 2000/XP 8 27-02-2012 23:25
FreeBSD - PAX архивирование файлов BaguM Общий по FreeBSD 1 05-02-2008 17:33
Проблема в корневом каталоге Pavel1471 Microsoft Windows 95/98/Me (архив) 3 27-10-2004 19:19
Root в корневом каталоге BSOD Microsoft Windows NT/2000/2003 6 08-02-2003 16:34




 
Переход