Когда пакет коммерческого программного обеспечения обработал файл в расположении A, он перемещает его в местоположение B (из изменений в атрибуты файла, я подозреваю, что он записывает данные из A в B и удаляет из A, а не использует команду перемещения , но я не уверен). Я не имею никакого контроля над тем, что он делает. У меня работает VBScript, проверка и дальнейший опрос необработанных файлов в местоположении A.
Проблема в том, что иногда файл кажется существующим в местах A и B после обработки (мы, вероятно, говорим <0,01% времени - конечно, меньше, чем любая проблема с кодом, вероятно, вызванная условиями системы / сети в время переезда / удаления). Файл в папке назначения, папке B, кажется «нормальным», то есть функционально не отличается от любого другого файла в папке B. Файл, оставленный в расположении A в редком случае, кажется «сверхблокированным» - никто, даже те, кто обладает полными правами администратора на расположении A, ничего не может с этим сделать (открыть, переименовать, переместить, удалить, удалить родительскую папку и т.д.). У него действительно есть атрибуты, действительно, сравнивая вкладку сведений в свойствах Windows, я заметил, что атрибут владельца не показан для файла в расположении A, но для атрибута в расположении B. Вот почему я думаю, что это может быть «файл-призрак», технически поддельная запись в MFT.
VBS аварийно завершает работу при попытке обработать (в том числе открыть для чтения) файл в расположении A. Как только серверы перезагружаются в выходные, файл больше не появляется в местоположении A, и VBS начинает завершаться снова.
Кто-нибудь может подсказать, что происходит, почему и есть ли способ идентифицировать файл в VBS (таким образом, избегая попыток его обработать / опрокинуть)? Извиняюсь, если это не в правильном разделе.
РЕДАКТИРОВАТЬ: Спасибо @harrymc - я не верю, что проблема возникает в то время, когда файлы будут подвергаться проверке на вирусы (при создании или по расписанию) - все же приятно знать, что идея файла-призрака не смешна.
РЕДАКТИРОВАТЬ: Спасибо @harrymc - я не имею права здесь оставлять комментарии, так что оставшаяся тема хороша для меня. Мои коллеги (те, у кого есть права администратора) запустили обозреватель процессов, но сказали (я никогда не видел программу, поэтому надеюсь, что это имеет смысл), что она не предоставила имя процесса, который блокировал файл. Я прибегнул к записи имени файла перед опросом, его очистке после, затем проверке при запуске, чтобы увидеть, остается ли журнал (то есть имя файла-призрака) и пропустить этот файл.