FILES

Description:

The FILES statement collects file and directory information from any disk and or directory and fills a double-dimensioned array with the information. It is also good for determining if a specific file exists (see below).

Usage:

  dim arrayName$(10, 10)
  files pathSpec$, arrayName$()

You must predimension the array even though FILES will redimension it to fit the information it provides.

  dim info$(10, 10)
  files "c:\", info$()

The above FILES statement will fill info$( ) in this fashion:

  info$(0, 0) - a string specifying the qty of files found
  info$(0, 1) - a string specifying the qty of subdirectories found
  info$(0, 2) - the drive spec
  info$(0, 3) - the directory path

Starting at info$(1, x) you will have file information:

  info$(1, 0) - the file name
  info$(1, 1) - the file size
  info$(1, 2) - the file date/time stamp

Knowing from info$(0, 0) how many files we have (call it n), we know that our subdirectory information starts at n + 1, so:

  info$(n + 1, 0) - the complete path of a directory entry (ie. \work\math)
  info$(n + 1, 1) - the name of the directory in specified (ie. math)

You can optionally specify a wildcard. This lets you get a list of all *.ini files, for example. This is how you do it:

  files DefaultDir$, "*.ini", info$()

This also makes it practical to use to check for file existence. If you want to know if a file c:\config.bak exists, you could try...

  files "c:\", "config.bak", info$()

If val(info$(0, 0)) > 0, then the file exists.