rad1us
@rad1us

Чем и как копировать файлы при появлении их в папке?

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

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

Чем и как это сделать?
  • Вопрос задан
  • 2033 просмотра
Решения вопроса 1
@yellowmew
Cloud infrastructure, monitoring engineer. SRE
к стыду своему недавно для себя открыл
robocopy
robocopy /?
/MON:n :: Наблюдать за источником; перезапустить после n изменений.
/MOT:m :: Наблюдать за источником; перезапустить через m минут, если произошли изменения.
/MOV :: Перемещать файлы (удаление из источника после копирования).
/MOVE :: Перемещать файлы и папки (удаление из источника после копирования).
/LOG:файл :: Записывать состояние в файл журнала (перезаписывать существующий журнал).
/LOG+:файл :: Записывать состояние в файл журнала (добавлять к существующему журналу).

хелп из 10-ки. в 7-ке (и 2008 R2 сервере) процитированный функционал есть.
Можно поставить в планировщик на старт системы.
Что синхронизировать а что пропускать отлично настраивается.

Еще в апреле я бы посоветовал вам переписать скрипт на Powershell под свои нужды ) - скрипт более недоступен, для использования функционала filesystemwatcher пишите свой, на основе вот этой статьи https://devblogs.microsoft.com/powershell-communit...
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 3
@res2001
Developer, ex-admin
1.По уму - научить принимающую программу после обработки файлов не удалять их, а перекладывать в каталог обработанных файлов.
2.вызов второй программы осуществлять например из батника, в котором перед запуском программы 1.проверяется наличие файлов в каталоге, 2.копируются файлы в архивный каталог, 3.запускается программа.
3.Если вызов второй софтины нельзя запихнуть в батник (например, она должна постоянно работать), то остается только в шедулере каждую минуту/секунду запускать батник, копирующий файлы в архивный каталог. Это самый плохой вариант - возможна потеря файлов при одновременном доступе к файлу.

Вообще нужно знать подробнее о возможностях программ. Тогда можно дать более конкретный ответ.
И кстати остается вопрос - как синхронизируются между собой 1 и 2 программы? Может быть случай, когда 1 программа еще не дописала файл, а 2 уже начала его обработку. Если у вас еще такого не было, то обязательно будет!
Ответ написан
@Heyzi
bat'ник + планировщик
Ответ написан
Комментировать
tsklab
@tsklab
Здесь отвечаю на вопросы.
Первая программа запускается от пользователя имеющего права на запись в папку.
Вторая программа —только чтение. Результат — файлы не будут удалятся второй программой.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы