|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - [решено] Копирование большого количества файлов по сети |
|
|
CMD/BAT - [решено] Копирование большого количества файлов по сети
|
Новый участник Сообщения: 42 |
Профиль | Отправить PM | Цитировать Добрый день, помогите пожалуйста с решением следующей задачки. Заранее прошу прощения, если уже были подобные вопросы, просьба кинуть ссылку или готовое решение, я искал и полностью похожей задачи не нашел.
Необходимо с одного ПК ископировать большое количество файлов (оснавная папка и подпапки) на другой ПК, находящийся в одной и той же сети (сетевой доступ между ПК есть). Размер основной папки большой, чуть более 200Гб. Содержит большое количество подпапок и мелких файлов. Т.е. с папки C:\Distr\Files\подпапки копировать на другой ПК в C:\Distr\Files\подпапки Копирование должно пройти быстро, в течении хотя бы 12 часов (этого будет достаточно). Но если возникнет необходимость повторного копирования, то копировать необходимо будет сделать только новые подпапки или файлы. Результат копирования, по возможности, лучше записать в лог, но без перечисления (т.к. боюсь это займет много времени и лог очень сильно вырастит), а как бы в процентном соотношении, что было скопировано всё в первом случае, и только новые файлы, во втором. |
|
Отправлено: 10:54, 12-10-2020 |
fascinating rhythm Сообщения: 6491
|
Профиль | Отправить PM | Цитировать |
------- Отправлено: 11:26, 12-10-2020 | #2 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Ветеран Сообщения: 2708
|
Профиль | Отправить PM | Цитировать finderhd, Совсем недавно было решено
Можно сделать бат-файл, а можно и из командной строки
Цитата finderhd:
Как вариант, можно, например, выдавать время начала и окончания копирования подпапки в основной папке, без углубления внутрь иерархии.
@Echo Off cls Set "BoxIn=\\192.168.100.23\Test1" Set "BoxOut=Z:\Box_Arc\Test1" Set "LogFile=Z:\Box_Arc\%~nx0.log" >>"%LogFile%" 2>>&1 ( Echo ==================================== %Date% %Time% "Start %~dpnx0" FOR /F "usebackq delims=" %%d IN (`2^>nul Dir /B /A:D "%BoxIn%"`) DO ( Echo %Date% %Time% Begin XCopy "%BoxIn%\%%d" Xcopy /D /Q /E /H /R /C /Y "%BoxIn%\%%d\*.*" "%BoxOut%\%%d\" Echo %Date% %Time% End XCopy "%BoxIn%\%%d" Echo. ) ) pause Exit /B |
|
------- Последний раз редактировалось megaloman, 12-10-2020 в 17:02. Отправлено: 16:12, 12-10-2020 | #3 |
Новый участник Сообщения: 42
|
Профиль | Отправить PM | Цитировать Цитата megaloman:
Цитата megaloman:
Например. Запустили батник, который в определенную дату скопировал всё содержимое в каталог C:\Distr\Files\ Связано это с переездом данных с одного ПК на другой. На следующий день выяснилось, что переезда как такового осуществляться не будет и будет он неизвестно когда, а файлы уже обновились. Замечу, что имена файлов не меняются, меняется только их состав (дата, а именно признак "Изменен" обновляется каждый день). Я так понимаю, в любом случае этот скрипт должен для таких условий подойти? В принципе, батник будет запускаться через шедулер, по расписанию, и там можно посмотреть, сколько задача работала по времени, поэтому наверное время можно и убрать, если это нагружает работу скрипта? |
||
Отправлено: 17:19, 12-10-2020 | #4 |
Ветеран Сообщения: 27449
|
Профиль | Отправить PM | Цитировать Цитата finderhd:
|
||
Отправлено: 19:03, 12-10-2020 | #5 |
Ветеран Сообщения: 2708
|
Профиль | Отправить PM | Цитировать Iska, Не обязательно. Можно запустить батник с xcopy несколько раз c ключом /D и, при отсутствии аварийных сообщений при работе, сообщение о том, что скопировано 0 файлов позволит убедиться, что все файлы скопированы.
Можно еще сравнить суммарный объем папок ... А при большом количестве писать в лог все каталоги и файлы контрпродуктивно, визуально убедиться, что все файлы скопированы, нельзя. |
------- Отправлено: 19:15, 12-10-2020 | #6 |
Новый участник Сообщения: 42
|
Профиль | Отправить PM | Цитировать Цитата megaloman:
Цитата megaloman:
Еще уточнение такое, что количество папок всегда одинаковое, меняются только определенные файлы. В них дописывается техническая информация ежедневно. |
||
Отправлено: 09:49, 15-10-2020 | #7 |
Ветеран Сообщения: 2708
|
Профиль | Отправить PM | Цитировать finderhd, я Вам предоставил вариант, попробуйте хоть на каких-нибудь тестовых данных, уверен, увидите ответы на свои вопросы
|
------- Отправлено: 16:28, 15-10-2020 | #8 |
Ветеран Сообщения: 27449
|
Профиль | Отправить PM | Цитировать Цитата finderhd:
|
|
Отправлено: 07:07, 16-10-2020 | #9 |
Новый участник Сообщения: 42
|
Профиль | Отправить PM | Цитировать Цитата megaloman:
И еще заметил, что если запускать батник через планировщик задач, а именно так и нужно будет (во внерабочее время) то в History не видно, что он отработал (нет записи Task Completed, только Action Started), как будто он до сих пор висит в памяти. Пришлось задачу остановить вручную через End, и тогда запись Task Completed появилась. |
|
Последний раз редактировалось finderhd, 11-11-2020 в 10:52. Отправлено: 10:40, 11-11-2020 | #10 |
|
Участник сейчас на форуме | Участник вне форума | Автор темы | Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
Разное - [решено] Проблема с просмотром большого количества файлов в explorer | Pikki-pikki | Microsoft Windows 2000/XP | 8 | 30-05-2021 00:24 | |
CMD/BAT - [решено] Удаление большого количества папок и файлов | finderhd | Скриптовые языки администрирования Windows | 50 | 12-10-2020 10:17 | |
Система - [решено] проверка целостности большого количества файлов | daneeall | Программное обеспечение Windows | 7 | 08-02-2013 16:25 | |
2008 R2 - Подвисает копирование файлов большого объема из сети | ujin | Windows Server 2008/2008 R2 | 2 | 07-10-2010 12:57 | |
Интерфейс - [решено] Переименование большого количества файлов | 7human7 | Microsoft Windows 2000/XP | 7 | 22-11-2008 09:48 |
|