vfs.list

function

Library: File system utilities (OMVFS)
Import : omvfs.xmd

Declaration
export external function list
        matching value string match optional initial {'*'}
        on      value directory on-dir optional
        into    write-only string names
        include value integer include optional initial {all-contents}

Argument definitions

matching
The path of the directory whose content is to be listed, followed by the selection criteria. The default selection criteria is '*'
on- dir
A connected vfs.directory object. If this parameter is specified, the matching parameter is evaluated relative to the vfs.directory object and must be expressed as a relative URL, followed by the selection criteria.
names
A string or stream shelf of variable size into which the list will be written. All items previously in the shelf will be cleared away.
include
A constant indicating whether the list should include files, directories, or both.


Purpose

You can use vfs.list to list the files and/or directories in a directory. The results are returned as the items in a string shelf. The following program lists all the xml files in a directory:

   import "omvfs.xmd" prefixed by vfs.
      process
         local string listing variable
         vfs.list matching "c:\foo\bar\*.xml"
          into listing
          include vfs.all-files
         repeat over listing
            output listing || "%n"
         again

To list the files in the current working directory, simply specify the selection criteria alone without the path information:

   import "omvfs.xmd" prefixed by vfs.
      process
         local string listing variable
         vfs.list matching "*.xml"
          into listing
          include vfs.all-files
         repeat over listing
            output listing || "%n"
         again

The include must be one of the following values:

Exceptions

The following exceptions may occur:

Troubleshooting

The precise wildcard matching algorithm used is platform dependent, and thus a given file pattern may match a slightly different set of files on different platforms in some cases. For instance, the selection criteria "*.xml" will match a file named "foo.xmlx" on Windows but not on UNIX.

Related Topics