-----------------------------------------------------------------------------
What FatCopy does
-----------------------------------------------------------------------------

FatCopy copies a single file, all files in a single directory, or a whole directory tree from a HPFS partition to a FAT partition, or vice versa.

Comparison with other OS/2 copy functions:

              WPS:   Copy:   Xcopy:   FatCopy:
HPFS->FAT:    yes    - (1)   yes (2)  yes        (1) Requires FAT compatible
FAT->HPFS:    yes    yes     yes      yes            name for file copy
Copy dirs:    yes    -       - (2)    yes        (2) Requires FAT compatible
Remove EAs:   -      -       -        yes            names for files/dirs
Rename:       yes    - (3)   - (3)    yes        (3) Not automatically
Log File:     -      -       -        yes

Actually, FatCopy is not exactly a completely new program. It rather glues together Copy and EAUtil with some Rexx code.

See "fatcopy /h" for further infos.

Note that FatCopy requires access to functions from the RexxUtil Library. Hence, this library has to be made available for the Rexx interpreter prior to calling this script. See below for further information.

-----------------------------------------------------------------------------
This is important!
-----------------------------------------------------------------------------

FatCopy is freeware. You pay for nothing, and I don't guarantee anything!

Please distribute only the complete and unmodified FatCopy package. Otherwise. add another readme file (call it, say, readme2) that describes your modifications.

-----------------------------------------------------------------------------
Some background infos about HPFS, FAT, and the WPS
-----------------------------------------------------------------------------

If you use both, HPFS (high performance file system) and the FAT (file allocation table) file system, and additionally the WPS (workplace shell), a file can have three different names.

For example, let's assume we have generated a file on the WPS with the name 

  File name with a \

Since "\" is not a valid valid character in HPFS file names, the file is actually named 

  File name with a !

at HPFS level. HPFS substitutes exclamation marks for all invalid characters. The original WPS name is instead stored in the EAs (extended attributes) of this file. Now, if you copy this same file to FAT, its name will become 

  File_nam

since FAT names are restricted to 8 characters (plus a period plus 3 characters for the file name extension) and spaces are not valid in FAT file names. The original WPS name can still be stored in the EAs of this file, so that the WPS still displays the file with its original, long name. However, since FAT does not support EAs, the EAs of this file are stored in a separate file called "EA DATA. SF", which is located in the root directory of the FAT partition. To summarize this:

         | WPS:               | HPFS:              | FAT:
---------|--------------------|--------------------|--------------------
Name:    | File name with a \ | File name with a ! | File_nam
---------|--------------------|--------------------|--------------------
EAs:     | File name with a \ | File name with a \ | File name with a \
---------|--------------------|--------------------|--------------------
Location | File               | File               | \EA DATA. SF
of EAs:  |                    |                    |


-----------------------------------------------------------------------------
Files in this distribution
-----------------------------------------------------------------------------

In the fatcopy directory:

fatcopy.cmd               - The source code and executable
readme                    - This file
register-rexxutil-dll.cmd - Script to register RexxUtil.dll library (see below)
todo                      - List of not yet implemented features, unfixed bugs, etc.

In the fatcopy\pgp directory:

fatcopy.sig               - My PGP signature for fatcopy.cmd
readme.sig                - My PGP signature for readme
register-rexxutil-dll.sig - Signature for register-rexxutil-dll.cmd
todo.sig                  - My PGP signature for todo

----------------------------------------------------------------------------
The most recent version of FatCopy
----------------------------------------------------------------------------

I will upload the most recent version of FatCopy to Hobbes (http://hobbes.nmsu.edu/ or ftp://hobbes.nmsu.edu/) only.

I have no particular preferences for Hobbes, except that it's one of the better known OS/2 software servers in that part of the world where I presently happen to live.

You may also check http://homepages.together.net/~rolf for a link to a newer revision.

-----------------------------------------------------------------------------
How to use FatCopy
-----------------------------------------------------------------------------

The output of "fatcopy /h" should tell you everything you need.

-----------------------------------------------------------------------------
RexxUtil library
-----------------------------------------------------------------------------

FatCopy requires functions from the RexxUtil DLL. These functions are also used by many other Rexx scripts. So, instead of trying again and again to register these functions each time you run a script that needs them, you should consider loading them when you start your system. 

To do this, put the script register-rexxutil-dll.cmd (or a link to this script) into your startup folder.

-----------------------------------------------------------------------------
Miscellaneous
-----------------------------------------------------------------------------

Enter "fatcopy /h" to get my email address.

To get my PGP public key, send me an empty email with "send pgp key" in the subject line.

Feel free to send me any suggestions for improvements of FatCopy. Of course I'd also appreciate a short note, if you actually use this program. 

For you Germans out there: Ihr knnt mir auch in Deutsch schreiben :-)





Rolf Lochbhler <rolf@together.net>
http://homepages.together.net/~rolf
--
$Id: readme,v 1.7 1999-01-31 11:35:24-05 rl Exp $
