[ Home Page ] [ Eiffel Archive ] [ Eiffel Classes and Clusters ]

Arc de Triomphe clipart (2486 bytes)

File System Commands

Written by Steven White.

filesystemcommands.zip (17,739 bytes) source code + .objs
sjwhite@apexmail.com Mail address of Steven White
http://www.barf.homepad.com/The Home Page of Steven White


This set of classes allows you to do many common operations on directories such as directory traversal, creation, removal and determine the contents of a given path.

These classes bear some resemblance to Visual Eiffels FILE_SYSTEM and FSYS_DAT classes. I chose not use use the term 'cluster' to represent a directory because I never use that term to represent a directory anywhere else. :-)

I have tested these classes with Visual Eiffel 3.0b3 and Small Eiffel -0.78 B2. Because of a difference in how the BIT class is assigned between the two compilers I have split the FS_DATA file into two variants.

Note that all files in this archive are under the Eiffel Forum Freeware License. See License.txt for details.


Rename the appropriate FS_DATA classes extension to .e. For example, if you have SmallEiffel rename FS_DATA.SE to FS_DATA.E.

If you are using GRAPE you do not need to do anything with the EXTERNAL_COMPATIBILITY class. If you are not using GRAPE then rename the appropriate EXTERNAL_COMPATIBILITY files extension as you did with FS_DATA.

There are several .lib files available depending on the Eiffel compiler and whether GRAPE is used or not. The Eiffel compiler must pointed at the approprite file.

Known Problems

SmallEiffel -0.78 Beta 2 has a problem with the BIT class where the high 16 bits are all 0. Until this is fixed all file dates will be 1980/00/00. File dates work fine with Visual Eiffel.

Some of these routines have been well tested, especially the more complex ones while others have not been tested at all. As most of the routines are one line commands I don't anticipate many problems!

Thats All Folks!

Feel free to enhance or tidy up the classes but be sure to send me the changes so I can update the main distribution!

Anyone feel like doing a Linux port? :-)

Steven White

[ Home Page ] [ Eiffel Archive ] [ Tools for Eiffel Developers ]