Я пытаюсь найти способ отслеживания каталогов в Perl, в частности размера каталога, и при обнаружении изменения размера каталога выполнить определенное действие.
Проблема, с которой я сталкиваюсь, связана с большими файлами, которыетребуется значительное количество времени для копирования в этот каталог, т. е.> 100 МБ.Что происходит (в Windows, а не в Unix), система резервирует достаточно дискового пространства для всего файла, даже если файл все еще копируется.Это вызывает проблемы для меня, потому что мой сценарий попытается выполнить действие с этим файлом, который не завершил копирование.Я легко могу обнаружить изменения размера каталога в Unix через 'du', но 'du' в Windows не ведет себя так же.
Существуют ли точные методы обнаружения изменений размера каталога в Perl?
Редактировать: некоторые моменты, которые необходимо уточнить: - Мой сценарий Perl отслеживает только конкретный каталог и, обнаружив новый файл или новый каталог, выполняет действие с этим новым файлом или каталогом.Это не копирование каких-либо файлов;пользователи в сети будут копировать файлы в каталог, который я отслеживаю.- Проблема возникает, когда появляется новый файл или каталог (скопированный, не перемещенный), который имеет значительный размер (> 100 МБ, но обычно составляет пару ГБ) и моя программа запускается до завершения этой копии - В Unix я могулегко 'du', чтобы увидеть, что рассматриваемый файл / каталог увеличивается в размере, и предпринять соответствующее действие - в Windows размер статичен, поэтому я не могу обнаружить это изменение - opendir / readdir / closedir не представляется возможным, так как некоторыеотображаемые каталоги могут содержать тысячи файлов, и я хочу избежать издержек
В идеале я хотел бы, чтобы моя программа запускалась при изменении, но я не уверен, как это сделать.На данный момент он занят, ждет, пока не обнаружит изменение.Изменение размера файла / каталога не в моих силах.