Why does File::Find finished short of completely traversing a large directory?

Posted by Stan on Stack Overflow See other posts from Stack Overflow or by Stan
Published on 2010-06-15T15:49:48Z Indexed on 2010/06/15 15:52 UTC
Read the original article Hit count: 234

Filed under:
|
|

A directory exists with a total of 2,153,425 items (according to Windows folder Properties). It contains .jpg and .gif image files located within a few subdirectories. The task was to move the images into a different location while querying each file's name to retrieve some relevant info and store it elsewhere.

The script that used File::Find finished at 20462 files. Out of curiosity I wrote a tiny recursive function to count the items which returned a count of 1,734,802. I suppose the difference can be accounted for by the fact that it didn't count folders, only files that passed the -f test.

The problem itself can be solved differently by querying for file names first instead of traversing the directory. I'm just wondering what could've caused File::Find to finish at a small fraction of all files.

The data is stored on an NTFS file system.

© Stack Overflow or respective owner

Related posts about perl

Related posts about ntfs