Как автоматически скопировать новый файл, созданный сторонним приложением, в Windows? - PullRequest
0 голосов
/ 03 декабря 2009

Можно ли автоматически скопировать новый файл, созданный сторонним приложением, в каталог автоматически в Windows?

Это выглядит как:

Сторонний процесс 'P' создает новый временный файл 'F' внутри каталога 'D'. Всякий раз, когда этот файл F создается процессом P, я хочу скопировать этот файл F в другой каталог D2. Дополнительная проблема заключается в том, что файл F удаляется процессом P через некоторое время. Так что работа cron не поможет.

Я думаю, мне нужно как-то перехватить событие «создан новый файл», если такая вещь существует.

Ответы [ 4 ]

2 голосов
/ 03 декабря 2009

Самый простой способ - написать программу на c #, которая использует класс FileSystemWatcher.

См .: FileSystemWatcher

Затем перехватите созданное событие и скопируйте файл.

1 голос
/ 03 декабря 2009

Быстрый и грязный: вы можете запустить простой .bat-файл, который содержит бесконечный цикл. Внутри цикла скопируйте (с перезаписью / y) содержимое каталога, а затем используйте команду sleep , чтобы немного отдохнуть.

Это решение быстро разрабатывается и тестируется.

1 голос
/ 03 декабря 2009

Вы можете использовать класс .NET FileSystemWatcher, чтобы отслеживать каталог для новых файлов.

Если вы ищете более нативное решение, ознакомьтесь с семейством функций Win32 FindFirstChangeNotification.

0 голосов
/ 03 декабря 2009

Вам следует создать приложение, которое постоянно отслеживает наличие новых файлов в этом каталоге и перемещает их, как только они создаются.

Нет события "новый файл создан" для мониторинга.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...