|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - [решено] Автосоздание папок и копирование в них с других ПК из лок.сети |
|
CMD/BAT - [решено] Автосоздание папок и копирование в них с других ПК из лок.сети
|
Новый участник Сообщения: 2 |
Профиль | Отправить PM | Цитировать Здравствуйте!
В локалке есть ПК, на одном из разделов HDD которого находится папка Backup, куда каждый ВРУЧНУЮ копируются различные файлы за пред. день или текущие с разных ПК из локалки. Затем делается резервное копирование на стриммер. В папке Backup уже есть подпапки, имена которых совпадают с именами ПК-в с которых копируются файлы, например: PC1, PC2 и т.д. В каждой такой папке ВРУЧНУЮ делается папка с именем совпадающим с текущей датой создания оной, куда и купируютс вышеупомянутые файлы. Как сделать так, чтобы каждый день, скажем утром, эти папки (совпадающие с текущей датой) создавались автоматом и в них копировались с соотв-х ПК соотв-е файлы. |
|
Отправлено: 16:24, 30-07-2009 |
Googler Сообщения: 3665
|
Профиль | Отправить PM | Цитировать Nuritdin, про "соотв-х ПК" понятно - список имен ПК по-видимому совпадает со списком подкаталогов папки Backup, а откуда брать "соотв-е файлы"?.. этот список файлов, подлежащих копированию, у каждого ПК свой или один на всех?.. как он называется, где лежит и хорошо-бы пример содержимого в несколько строк. Какой формат даты применяется для именования подпапок?.. "ДД-ММ-ГГГГ" или какой другой?.. Наконец, где лежит сама папка Backup - для конкретики желательно указывать полный путь.
|
Отправлено: 17:19, 30-07-2009 | #2 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Новый участник Сообщения: 2
|
Профиль | Отправить PM | Цитировать amel27, спасибо!
Пусть ПК на который собираются файлы с других ПК называется Mif-s. Локальный путь к папке Backup на Mif-s это E:\Backup, сетевой путь это - \\Mif-s\E$\Backup. В этой папке Backup есть подпапки Backup_PC1, Backup_PC2 и т.д., в которых должны создаваться подпапки с форматом текущей даты ДДММГГГГ. У каждого PC1, PC2 и т.д. свои уникальные файлы, подлежащих копированию в свои соответствующие папки на Mif-s. Например, в папку E:\Backup\Backup_PC1\30072009(текущая дата) должны скопироваться 2 файла с компа PC1, находящиеся в \\PC1\C$\Folder1\file1.txt и \\PC1\C$\Folder1\file2.txt. А в папку E:\Backup\Backup_PC2\30072009 должны скопироваться 15 файлов с компа PC2, находящиеся в \\PC2\D$\Folder\file1.txt-file15.txt (15 штук). И т.д... Наконец с PC_N должны скопироваться другое кол-во файлов в E:\Backup\Backup_PC_N\30072009\files.txt. Я написал элементарный батик для копирования всех файлов c PC1 на Mif-s, положил его в планировщик Scheduled Tasks на Mif-s, и он работает, вот он: copy \\PC1\D$\Shared\data\Database\Fo_data\BACKUP\*.* F:\backup\backup_fo\1_2009\fo_backup Мне же нужно чтобы копируемые данные с ПК на Mif-s сохранялись каждый день в новой папке с назв. текущей даты... |
Отправлено: 18:26, 30-07-2009 | #3 |
Старожил Сообщения: 426
|
Профиль | Отправить PM | Цитировать 1. Использовать служебные шары типа "C$" не красиво, но может в данном случае разумно - 99% пользователей не смогут отключить шару.
2. Формат даты ДДММГГГГ хорош только когда таких каталогов не больше десятка-другого. В остальных случаях гораздо удобнее использовать дату в формате YYYYMMDD. Как-нибудь попробуйте и убедитесь в этом (в батнике генерация даты в этом формате имеется, надо только ее включить взамен Вашего варианта) 3. В списке копируемых ресурсов каталоги не должны заканчиваться символом "\", иначе ошибка гарантирована (но можно добавить операцию проверки) 4. Любой бэкап должен вести лог-файл. Подредактируйте его внешний вид под себя. @echo off SetLocal EnableDelayedExpansion rem Дата в формате YYYY-MM-DD для региона "Россия" rem set D=%date:~6,4%-%date:~3,2%-%date:~0,2% rem Дата в формате DDMMYYYY для региона "Россия" set D=%date:.=% rem Размещение и имя файла со списком копируемых данных set List=C:\BackUp.lst rem Для каталога Бэкапа нужно указать абсолютный путь set BackUp=E:\BackUp\ rem Префикс для названия папок компьютеров, дописывается перед именем компа set Pref=Backup_ set Log=%~dpn0.log echo.>>%Log% echo %date% %time% ==== Запуск процедуры копирования ====>>%Log% if not Exist %List% ( echo Отредактируйте список с путями копируемых данных в файле %List% echo # Это коментарий>%List% echo.>>%List% echo # А это сетевый пути для бэкапа:>>%List% echo \\PC1\C$\Folder1>>%List% echo \\PC2\D$\Folder\file*.txt>>%List% echo Список для копирования пуст, создан пример, см: %List%>>%Log% echo.>>%Log% exit ) rem переход на диск с бэкапом %BackUp:~0,2% echo %CD%>>%Log% for /F "usebackq eol=# tokens=1* delims=\" %%P in ("%List%") do ( cd %BackUp% if not exist %Pref%%%P md %Pref%%%P cd %Pref%%%P if not exist %D% md %D% cd %D% md %%Q cd %%Q title Копирование \\%%P\%%Q set Txt=!date! !time! Копирование \\%%P\%%Q rem Если подкаталоги копировать не надо, то убираем ключ "/S". xcopy \\%%P\%%Q /C /Q /G /H /K /Y /O /S set Err=!ErrorLevel! if !Err!==0 (set Txt=!Txt! прошло успешно) else (set Txt=!Txt! закончилось с ошибкой N!Err!) echo !Txt!>>%Log% ) |
Последний раз редактировалось NiOl, 30-07-2009 в 19:53. Причина: постскриптум Отправлено: 19:50, 30-07-2009 | #4 |
Участник сейчас на форуме | Участник вне форума | Автор темы | Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
Прочее - [решено] Непонятная проблемма лок.сети и ноутбука (офис <-> туннель <-> склад) | Alex-4u | Сетевые технологии | 13 | 08-05-2009 11:53 | |
Службы - [решено] Как работает ДНС в локальной сети и много других вопросов. | BROTHERHOOD | Microsoft Windows 2000/XP | 5 | 07-05-2008 18:07 | |
Разное - копирование папок | gipper2006 | Microsoft Windows 2000/XP | 6 | 04-05-2008 12:28 | |
Разное - как отключить автосоздание личных папок ? | geepnozeex | Автоматическая установка Windows 2000/XP/2003 | 2 | 20-10-2007 01:36 | |
Копирование папок | Vasosel | Microsoft Windows NT/2000/2003 | 9 | 23-08-2006 10:30 |
|