Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - [решено] Копирование новых файлов каждые 30 минут.

Ответить
Настройки темы
CMD/BAT - [решено] Копирование новых файлов каждые 30 минут.

Новый участник


Сообщения: 39
Благодарности: 0

Профиль | Отправить PM | Цитировать


Знатоки, приветствую.
Помогите пожалуйста реализовать задачу.
Есть два каталога:
"Cat-1"
"Cat-2"
В каталог "Cat-1", каждые 5 минут сваливаются всякие разные непонятные файлы. Задача в том, чтобы написать скрипт, который я буду запускать в шедулере каждые 30 минут.
Сам скрипт должен искать в каталоге "Cat-1" файлы, начинающиеся с Английской буквы I, с любым расширением, которые свалились в данный каталог с момента последнего запуска скрипта (30 минут) и копировать (не перемещать) все подходящие под правило файлы в каталог "Cat-2".
Каталог "Cat-1" всегда пухнет новыми файлами, заменяемых файлов нет, дата создания всегда соответствует фактическому времени падения файла в каталог "Cat-1".
Помогите плиз с написанием скрипта.
Всем неравнодушным - огромный кармаплюс!!!

Отправлено: 19:22, 21-11-2016

 

Ветеран


Сообщения: 1093
Благодарности: 319

Профиль | Отправить PM | Цитировать


Цитата POSTREALITY:
Есть два каталога: »
Можно так попробовать
xcopy c:\cat-1\i*.* c:\cat-2 /d /y
Это сообщение посчитали полезным следующие участники:

Отправлено: 19:37, 21-11-2016 | #2



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.


Новый участник


Сообщения: 39
Благодарности: 0

Профиль | Отправить PM | Цитировать


Цитата raddy:
/d /y »
Здравствуйте.
А как в таком случае скрипт будет понимать какие файлы я скопировал часом ранее?
Допустим:
в 11:55 в папке лежат файлы 1, 2, 3 и 4. В 12:00 я запускаю скрипт и копирую файлы в "Cat-2". За полчаса с 12:00 до 12:29:59 в папку свалились ещё файлы 5,6,7 и 8. В 12:30 я запускаю скрипт вновь, теперь надо чтобы он понял что файлы за ПОЗАпрошлый промежуток времени (с 11:30 до 11:59:59) копировать не надо, а надо копировать файлы только за ПРОШЛЫЙ промежуток времени с 12:00 до 12:29:59.
Спасибо!

Отправлено: 19:49, 21-11-2016 | #3


Ветеран


Сообщения: 1093
Благодарности: 319

Профиль | Отправить PM | Цитировать


Цитата POSTREALITY:
А как в таком случае скрипт будет понимать какие файлы я скопировал часом ранее? »
Параметр /d позволяет игнорировать файлы с одинаковым временем и датой.
Это сообщение посчитали полезным следующие участники:

Отправлено: 19:53, 21-11-2016 | #4


Новый участник


Сообщения: 39
Благодарности: 0

Профиль | Отправить PM | Цитировать


Цитата raddy:
Параметр /d позволяет игнорировать файлы с одинаковым временем и датой. »
А, я понял. Большое Вам спасибо за помощь, но к сожалению, тут требуется более кардинальное решение. Беда в том, что буквально через несколько месяцев кол-во файлов в "Cat-1" возрастёт до десятков тысяч, а через год их там будет более 100 000 файлов, и процесс копирования всего грубо говоря каталога с отбрасыванием уже существующих файлов будет сам по себе занимать более получаса
В текущем вопросе требуется решение, которое будет опираться именно на временной отрезок 30 минут, а остальные файлы не трогать.
Ещё раз большое Вам спасибо!

Отправлено: 20:03, 21-11-2016 | #5


Ветеран


Сообщения: 1093
Благодарности: 319

Профиль | Отправить PM | Цитировать


Цитата POSTREALITY:
и процесс копирования всего грубо говоря каталога с отбрасыванием уже существующих файлов будет сам по себе занимать более получаса »
В данном случае копируются только новые или изменившиеся файлы. А сравнение каталогов с 10-100к файлами (или их индексирование) - в любом случае будет ресурсоёмким.
Это сообщение посчитали полезным следующие участники:

Отправлено: 20:08, 21-11-2016 | #6


Новый участник


Сообщения: 39
Благодарности: 0

Профиль | Отправить PM | Цитировать


Цитата raddy:
В данном случае копируются только новые или изменившиеся файлы. »
Большое спасибо! Об этом я и не подумал, что даже при работе по времени, он всё равно будет читать весь каталог. Вы правы!

Отправлено: 11:51, 22-11-2016 | #7


Новый участник


Сообщения: 39
Благодарности: 0

Профиль | Отправить PM | Цитировать


Цитата raddy:
xcopy c:\cat-1\i*.* c:\cat-2 /d /y »
Странно, делаю так:
@echo off
set otkuda="\\10.0.2.10\smbd\__WorkeInfo\NRD_GATE\INBOX"
set kuda="C:\gera-cmd\test\"
xcopy %otkuda%\I*.* %kuda% /d /y
Ничего не копируется.

А если делаю так:
@echo off
set otkuda="\\10.0.2.10\smbd\__WorkeInfo\NRD_GATE\INBOX"
set kuda="C:\gera-cmd\test\"
xcopy %otkuda%\I*.* %kuda% /d /y /e
То копируются все папки и файлы, а не только начинающиеся с буквы I.

Отправлено: 13:02, 22-11-2016 | #8


Ветеран


Сообщения: 1093
Благодарности: 319

Профиль | Отправить PM | Цитировать


Цитата POSTREALITY:
Ничего не копируется. »
Если в консоли запустить без @echo off, что скажет?

Отправлено: 13:31, 22-11-2016 | #9


Новый участник


Сообщения: 39
Благодарности: 0

Профиль | Отправить PM | Цитировать


Цитата raddy:
Если в консоли запустить без @echo off, что скажет? »
Ошибок нет, пишет - скопировано файлов: 0, хотя в папке \\10.0.2.10\smbd\__WorkeInfo\NRD_GATE\INBOX лежит более 20 тестовых папок и файлов с разными именами, включая начинающиеся с буквы I.

Отправлено: 13:35, 22-11-2016 | #10



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - [решено] Копирование новых файлов каждые 30 минут.

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
Хочу сделать что бы ccleaner чистил каждые 30 минут pizdelix@vk Скриптовые языки администрирования Windows 0 31-12-2014 15:45
Компьютер выключается через каждые 30 -60 минут , один развылетел синий экран morozkos@vk Непонятные проблемы с Железом 2 11-10-2014 20:19
Интернет - после первого посещения сайта однокласники комп перезагружается через каждые 30 минут sergiy Microsoft Windows 2000/XP 3 31-12-2009 11:54
Прочее - NVIDIA nForce Networking Controller <разрыв соединения каждые 30 минут> zzzsergzzz Сетевое оборудование 3 22-01-2009 20:47
Обнуляется каждые 10-30 минут Access this computer from the network Maf1a Microsoft Windows NT/2000/2003 5 15-08-2007 01:34




 
Переход