![]() |
Внимание, важное сообщение: Дорогие Друзья!
В ноябре далекого 2001 года мы решили создать сайт и форум, которые смогут помочь как начинающим, так и продвинутым пользователям разобраться в операционных системах. В 2004-2006г наш проект был одним из самых крупных ИТ ресурсов в рунете, на пике нас посещало более 300 000 человек в день! Наша документация по службам Windows и автоматической установке помогла огромному количеству пользователей и сисадминов. Мы с уверенностью можем сказать, что внесли большой вклад в развитие ИТ сообщества рунета. Но... время меняются, приоритеты тоже. И, к сожалению, пришло время сказать До встречи! После долгих дискуссий было принято решение закрыть наш проект. 1 августа форум переводится в режим Только чтение, а в начале сентября мы переведем рубильник в положение Выключен Огромное спасибо за эти 24 года, это было незабываемое приключение. Сказать спасибо и поделиться своей историей можно в данной теме. С уважением, ваш призрачный админ, BigMac... |
|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - [решено] Бэкап перед применением патча |
|
CMD/BAT - [решено] Бэкап перед применением патча
|
Старожил Сообщения: 415 |
Доброго времени суток. Помогите реализовать скрипт - задача такая: есть некий игровой сервер - директория с файлами и кучей вложенных директорий. Есть к нему патчи, которые распространяются в виде архива с такими же вложенными директориями и файлами. Что нужно - делать бэкап перед применением каждого патча, чтобы можно было его откатить. Вручную смотреть, какие файлы изменятся не выход, там иногда до сотни файлов меняется. Делать бэкап директории с сервером полностью - тоже не выход, слишком много весит. Нужен скрипт, который просканирует обе директории - сервера и патча - со вложенными директориями и файлами, выдаст список заменяемых патчем файлов и сохранит резервные копии заменяемых файлов с сохранением структуры директорий. Ну и ещё, желательно, чтобы писались в лог добавленные файлы и папки, которых не было на сервере, но есть в патче.
|
|
Отправлено: 14:15, 13-08-2010 |
Ушёл из жизни Сообщения: 6021
|
Профиль | Отправить PM | Цитировать Anonymоus, попробуйте.
Из упрощений: предполагается, что в patch нет пустых папок и файлов без расширения (не захотелось с ними возиться). Папка backup пересоздается при запуске скрипта иначе в ней будет "каша" при запуске с разными патчами. @Echo Off :: Кодировка файла Кириллица DOS (866). Лог файл содается в этой же кодировке SetLocal enabledelayedexpansion Set server=server Set patch=patch Set backup=backup Set log=log.txt RD /S/Q "%backup%" 1>Nul 2>Nul MD "%backup%" For /F "UseBackQ Delims=" %%I In (`Dir "%patch%" /S/B 2^>Nul`) Do Call :_copyF "%%I" Echo Есть в %server%, помещены в %backup%:>%log% Echo ===================================================>>%log% Copy %log% + y%log% %log%>Nul Echo.>>%log% Echo Нет в %server%, добавлены из %patch%:>>%log% Echo ===================================================>>%log% Copy %log% + n%log% %log%>Nul Echo.>>%log% Del y%log% n%log%>Nul Echo. Pause Exit :_copyF If "%~x1"=="" GoTo :EOF Set nt=%~1 Set nt=!nt:*%patch%\=! Set n1=%~nx1 Set nt1=!nt:%n1%=! If Exist "%server%\%nt%" ( Echo %server%\%nt%>>y%log% Echo %server%\%nt% xCopy %server%\%nt% %backup%\%nt1%>Nul ) Else ( Echo %server%\%nt%>>n%log% ) GoTo :EOF |
Последний раз редактировалось gora, 13-08-2010 в 21:35. Отправлено: 16:23, 13-08-2010 | #2 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Старожил Сообщения: 415
|
Профиль | Отправить PM | Цитировать Большое спасибо, именно то, что нужно.
|
Отправлено: 18:21, 13-08-2010 | #3 |
![]() |
Участник сейчас на форуме |
![]() |
Участник вне форума |
![]() |
Автор темы |
![]() |
Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
[решено] После патча, программа установки не видит диск! | keys00 | Проект WinStyle | 19 | 01-10-2009 15:09 | |
Интерфейс - Как вернуть после патча UXTheme Patch? | djbub | Microsoft Windows 2000/XP | 1 | 24-07-2009 05:26 | |
Проблема со стилем оформления после патча uxtheme.dll | Vitasphere | Microsoft Windows 2000/XP | 8 | 16-12-2006 06:34 | |
Фильтрация, с применением LDAP запросов в AD | Anik | Microsoft Windows NT/2000/2003 | 2 | 20-11-2006 14:31 | |
Проблема с применением политики домена | karnage | Microsoft Windows NT/2000/2003 | 7 | 29-04-2004 19:09 |
|