FSIZE                 Based on a program by Art Merrill
List file sizes and space occupied          version 1.0
-------------------------------------------------------

Purpose
-------
Calculates the storage requirements of a file or group
of files based on the number of DOS clusters necessary
to make floppy disk and hard disk copies.

Format
------

    FSIZE filespec

or

    FSIZE filespec d:


Remarks
-------
DOS stores files in fixed-length 'allocation units' or
'clusters'. For floppy disks, the cluster size is
usually 1024 bytes (two 512-byte sectors). A standard
XT 10Mb hard disk has a cluster size of 4096 bytes (8
512-byte sectors). AT hard disks typically have a
cluster size of 2K (4 512-byte sectors). The cluster
size is determined when the disk is formatted; larger
clusters may be used on some drives, particularly
large capacity units.

The cluster size dictates how much disk space a file
takes up. DOS always stores files in a multiple of the
cluster size, if necessary padding out the last sectors
of the file with random data. For example, with a 2K
cluster size, a one byte file will still take up 2K
(2048 bytes); the same space as a 900 byte one or a
2048 byte one. A 3000 byte file would occupy two
clusters, using a total of 4096 bytes.

Entered with a file specification, FSIZE lists the
total size of the files given and the space they
actually occupy on the disk. It also notes how much
space is 'lost' to padding data and what the cluster
size is on the drive holding the files.

Underneath, FSIZE lists how much space would be
required for the files on different types of disk.
For example, if the files are currently on a hard
disk, you can see how much free space is needed to
copy them onto a floppy disk. Similarly, if the
files are on a floppy, you can see how much space
they would take up if you coped them to a hard disk.

If you give a drive letter after the filespec,
FSIZE determines the cluster size on that drive
and reports how much space would be taken up by
the files if they were copied to it, rather than
producing a table of various values.

Examples
--------

    FSIZE *.*

Lists how much space files in the current directory
take up.

    FSIZE A:*.PCX

Lists how much space the PCX files on drive A take up.

    FSIZE C:\JAN

Lists how much space files in the \JAN directory on
drive C take up.

    FSIZE ACCOUNTS.WK1 B:

Lists how much space the file ACCOUNTS.WK1 takes up
and how much free space would be needed to copy it
onto a floppy in drive B. Note that drive B (or
whatever) must be ready for this to work as FSIZE
needs to read the cluster size from the disk.

Notes
-----

1. Requires DOS 2.0 or later.

2. From DOS 4 on, you can determine the cluster
   size on a particular drive with CHKDSK. You can
   do this with FSIZE and any version of DOS by
   running it with the name of any file on the
   disk

3. If you are copying files into sub-directories,
   remember that the directory entries themselves
   require disk space; DOS may fit the files into
   the existing directory on the disk or it may
   need to extend the directory by a cluster or two
   to cope.

4. FSIZE combines and updates the PC Magazine
   SIZE and ATSIZE utilities written by Art Merrill
