Что делать с файлами, с именами которых в назначенном месте к этому моменту есть файлы?
Обнаруженные файлы- вырезаются и переносятся в назначенную папку.
Если из папки (которую мониторим) забираем файлы, а они при перемещении в назначенную папку ВДРУГ имеют одинаковое имя (с теми файлами которые уже забрали и которые уже лежат в назначенной для копирования папке - то добавляем к имени нового файла числовой префикс.
В папке, которую мониторим - всегда появляются только файлы с расширениями:
*.jpg и
*.htm которым сторонняя утилита УЖЕ ПРИСВОИЛА рандомные имена.
Пример:
Скрипт мониторит нужную папку например: \\win01\user01
\dat, с частотой 1 раз в 5 минут...
в папке
\dat, которую скрипт мониторит, появились файлы
qwe_*.jpg,
rty_*.jpg,
uio_*.jpg,
zxc_*.htm,
vbn_*.htm
Скрипт "забирает" ВСЕ файлы, что имеются на данную секунду в папке
\dat. - вырезает их из исходной папки (именно вырезает, а не копирует) и переносит в нужную директорию (например в
D:\find)
Если в
D:\find уже есть файл с таким именем (например случайно так совпало, и уже есть файл с одинаковым именем) например переносим
zxc_*.htm, а в D:\find уже есть такой файл, то к имени нового файла добавляется префикс "
01", и файл получается с новым именем:
zxc_01*.htm - этот файл и сохраняется
D:\find, в которой теперь будут лежать
zxc_*.htm, и
zxc_01*.htm
После того, как все перенесено - скрипт переходит в режим ожидания - тайм 5 минут и все повторяется заново.
Если
\dat недоступна, ждать 5 минут затем снова провести попытку мониторинга.
Скрипт зациклить
Системе, в которой запущен скрипт - не разрешать "засыпать"
В папке
D:\find файлы копятся. Файлы проверяет и если надо очищает - человек оператор в ручную.