Tipulatoid
![](http://forum.ru-board.com/board/avatars/AplomadoFalcon.gif)
Member | Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору mitrichbel Цитата: 1. выгружаю из памяти миранду и ещё пару программ. 2. по очереди упаковываю в архивы на флешке папки с этими программами 3. упаковываю в архивы на флешке папки с другой информацией 4. на второй машине сначала проверяю, не запущены ли программы, которые я собираюсь распаковать с флешки 5. если запущены - завершаю, естественно 6. очищаю содержимое папок, которые будут заполнены в следующем шаге (понимаю, что перед этим неплохо бы протестировать архивы на флешке) 7. распаковываю каждый архив в предназначенное ему место 8. запускаю эти обновленные программы | Примерно так. Создайте на флешке в папке где будет лежать батник файл synhronize.txt примерно следующего содержания: Код: 1;c:\ddd\ggg;d:\aaa\jjj;lalalya.exe 2;c:\eee\hhh;e:\bbb\kkk;topolya.exe 3;c:\fff\iii;d:\ccc\lll | и т.д. Значения здесь разделены знаком ; 1-ое значение в строке - номер строки (пойдет потом в название архива); 2-ое значение - полный путь к папке на 1-ом компе, которую нужно упаковать в архив; 3-е значение - полный путь к папке на 2-ом компе, куда нужно распаковать архив; 4-е значение - программа (файл exe) в папке, которую нужно запустить (если из папки ничего не нужно запускать, ничего и не пишем - см. строка 3) Сам батник (один на все операции!!! держать его нужно на флешке) Код: @echo off set "archiver=%ProgramFiles%\Winrar\WinRar.exe" :quest echo Введите "A" для подготовки архивов или "X" для восстановления из архивов. set /p input= if /i not %input%==A ( if /i not %input%==X ( echo Неверный ввод. Повторите попытку. goto quest ) ) if /i %input%==A goto to_flash if /i %input%==X goto from_flash :to_flash ::Первый комп ::Проводим операции. . . for /f "delims=; tokens=1-4" %%a in (synhronize.txt) do ( ::1.Проверяем оперативку и убиваем процессы tasklist | find /i "%%d">nul && taskkill /im %%d>nul ::2.Удаляем rar-архивы в текущей папке на флешке, если есть del /q %%a.rar 2>nul ::3.Создаем архивы на флешке "%archiver%" a -ep -r %%a "%%b\*.*" ) goto end :from_flash ::Второй комп ::Проводим операции . . . for /f "delims=; tokens=1-4" %%a in (synhronize.txt) do ( ::1.Проверяем существование архивов if not exist %%a.rar ( echo Архив %%a.rar не найден! Заканчиваю работу goto end ) ::2.Проверяем оперативку и убиваем процессы tasklist | find /i "%%d">nul && taskkill /im %%d>nul ::3.Тестируем архивы на флешке "%archiver%" t %%a.rar ::4. Удаляем целевые папки на втором компе вместе с содержимым (подпапками и файлами) if exist "%%c" rd "%%c" /s /q ::5. Распаковываем архивы с флешки в нужные папки "%archiver%" x %%a "%%c\" ::6. Запускаем перезаписанные программы start /b "" "%%c\%%d" ::7. Удаляем архивы с флешки del /q %%a.rar 2>nul ) :end | Насколько знаю, используемая здесь утилита tasklist имеется только в Win Xp Prof. Edition Если у вас Home, надо скопировать ее у кого-нибудь и поместить в папку "%windir%\system32" Добавлено: Исправил немного - на случай, если в папках пробелы имеются И еще добавлено: Загнал проверку памяти в цикл | Всего записей: 349 | Зарегистр. 22-12-2006 | Отправлено: 04:40 14-04-2007 | Исправлено: Tipulatoid, 09:42 14-04-2007 |
|