|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - [решено] Архивация папки только за текущий день |
|
CMD/BAT - [решено] Архивация папки только за текущий день
|
Новый участник Сообщения: 4 |
Профиль | Отправить PM | Цитировать Всем привет.
Встала такая задача: Есть папка, в которую тулзой бэкапятся данные по схеме - новый день->новая папка с файлами. В итоге необходим батник архивирующий папку и переписывающий созданный архив на внешнее хранилище с последующим удалением созданного архива. Вся проблема в том, что папку архивировать нужно только за текущий день. Буду благодарен за любые идеи |
|
Отправлено: 17:24, 12-07-2011 |
Ветеран Сообщения: 2708
|
Профиль | Отправить PM | Цитировать @Echo off Set Kuda=\\Server\Backup.arc Set Otkuda=C:\Backup Set Rar="C:\Program files\Winrar\Winrar.exe" a -r -tn1d FOR /F "usebackq tokens=1,2,3 delims=./-" %%i IN ('%Date%') DO Start "Упаковка" %Rar% "%Kuda%\%%k%%j%%i" "%Otkuda%\*.*" Otkuda-где исходные бэкапы Пути пишем в конце без \ и без пробелов Архив создаём сразу на внешнем хранилище. Поэтому ничего не удаляем. Конкретизируйте задачу, если что-то не нравится. |
------- Отправлено: 20:07, 12-07-2011 | #2 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Новый участник Сообщения: 4
|
Профиль | Отправить PM | Цитировать близко но немного не то
конкретизирую задачу. 1. Ищем в C:\Backup папку за текущую дату. 2. Архивируем содержимое этой папки в архив (там могут быть не только файлы, но и папки - соответственно структура должна быть сохранена). Название архива присваивается по имени этой папки (она УЖЕ именуется по формату ГОДМЕСЯЦЧИСЛО). Крайне желательно, чтобы архив не содержал в себе папку верхнего уровня (если отталкиваться от нашего примера, то не должен содержать в себе папку Backup), а начинался сразу с содержимого архивируемой папки. 3. Перемещаем созданный архив на внешнее хранилище. |
Отправлено: 15:11, 13-07-2011 | #3 |
Новый участник Сообщения: 4
|
Профиль | Отправить PM | Цитировать |
Отправлено: 16:32, 13-07-2011 | #4 |
Ветеран Сообщения: 2708
|
Профиль | Отправить PM | Цитировать @Echo off Set Kuda=\\Server\Backup.arc Set Otkuda=C:\Backup Set Rar="C:\Program files\Winrar\Winrar.exe" a -r -ep1 FOR /F "usebackq delims=" %%d IN (`Dir %Otkuda%\*.* /b /A:D`) DO Call :DirToDay "%Otkuda%\%%d" "%%d" GoTo :Eof :DirToDay FOR /F "usebackq tokens=1,2" %%i IN ('%~t1') DO Set DateDir=%%i If %DateDir%==%Date% ( %Rar% "%Otkuda%\%~2" %1 Echo Move /Y "%Otkuda%\*.rar" "%Kuda%\" Move /Y "%Otkuda%\*.rar" "%Kuda%\" ) GoTo :Eof Можете в этом решении использовать 7z, но в строке Set Rar=... пропишите вызов и ключи для 7Z и в Move пропишите нужное расширение. Доберусь до 7Z, приведу решение и с ним (я его ключи не знаю), это совершенно не принципиально. В первом решении 7Z не прокатит, там нет ключа, аналогичного -tn1d |
|
------- Последний раз редактировалось megaloman, 13-07-2011 в 17:02. Отправлено: 16:53, 13-07-2011 | #5 |
Новый участник Сообщения: 4
|
Профиль | Отправить PM | Цитировать Спасибо за идею!
Вот вариант покороче, правда содержит в себе папку верхнего уровня (мало ли кому пригодится...) Вообщем, тему можно закрыть |
Отправлено: 18:12, 13-07-2011 | #6 |
Участник сейчас на форуме | Участник вне форума | Автор темы | Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
VBS/WSH/JS - [решено] Копирование папки, а не только ее содержимое | ksv_sergo | Скриптовые языки администрирования Windows | 5 | 06-07-2011 11:43 | |
"День 7" - на носу: Windows 7 осталось ждать один день | OSZone News | Новости и события Microsoft | 0 | 21-10-2009 12:30 | |
Доступ - Как снять только чтение с папки? | alleclf | Microsoft Windows Vista | 1 | 01-10-2009 00:02 | |
Разное - Вылетает експлорер, только при просмотре одной папки с фотками | BMW09121985 | Microsoft Windows Vista | 10 | 25-04-2009 14:57 | |
Разрешить установку только из определённой папки | Gangabass | Microsoft Windows NT/2000/2003 | 4 | 20-04-2009 09:15 |
|