                  File Commando - A file utility for OS/2

For those familiar with the DOS utility Norton Commander, FC (following the
axiom that imitation is the sincerest form of flattery) attempts to provide
most of the same functionality under OS/2.

Using FC you can copy, move, rename, delete, find, view, and edit files in
a multi-window file list.  This list shows two directories, through which
you can navigate using the cursor, page up & down, home and end keys.  The
TAB key switches between the two directory windows.  Pressing the RETURN key
when a directory is highlighted will move into that directory.  Pressing the
SPACE BAR or INS key when a file is highlighted will mark that file for later
copy, move, or delete operations.  Directories cannot be marked.
The + and - keys can be used to select or unselect (respectively), files
matching a specified pattern.

Commands are shown at the bottom of the main screen, and most can also be
accessed using mnemonic characters.  The available functions are:

F1, g - Goto:    Change the drive or directory of the current panel

F2, r - Rename:  Rename a single file

F3, v - View:    Launches a viewing program to examine the selected file.
                 The viewing program is specified in the INI file, see below
                 for details.

F4, e - Edit:    Launches an editor in the same way as the viewer, above.

F5, c - Copy:    Copies the current file (highlighted by the bounce bar) or
                 the marked files to the other directory.  If you a press
                 Copy while a directory is selected, the whole directory,
                 along with all its files and subdirectories, will be copied
                 to the other directory.

F6, m - Move:    Moves the current file (highlighted by the bounce bar) or
                 the marked files to the other directory.

F7, k - Mkdir:   Creates a new directory in the current directory

F8, d - Delete:  Deletes the current file (highlighted by the bounce bar) or
                 the marked files from the current directory.  If you press
                 Delete while a directory is highlighted, FC will ask you to
                 confirm removing the directory, and will then REMOVE THE
                 ENTIRE SUBDIRECTORY TREE BASED AT THAT POINT.  This can
                 obviously be dangerous, and YOU HAVE BEEN WARNED!

F9, f - Menu:    Brings up a menu of other functions:
                 Change Sort Order:   Allows you to sort the directory list by
                                      name, extension, file date and time,
                                      or size.
                 Compare Directories: Marks all files which do not appear in
                                      both directories, or the newer version
                                      of files which are in both directories.
                 Find File:           Searches the disk for files matching
                                      a given pattern.
                 File Info:           Brings up the File Info dialog,
                                      see F11 below.
                 Help:                Displays a list of command keys
                 Select Files:        Selects a group of files matching a
                                      given pattern.
                 Deselect Files:      Un-Selects a group of files matching a
                                      given pattern.
                 About:               Shows author and copyright info about FC.

F10, q - Quit:   Immediately terminates FC.

F11, ?:          Show full filename and attributes (for long [HPFS] filenames)
                 In addition, you can change the file attributes by entering
                 'A' in response to the prompt, then toggle the attributes you
                 wish using the keys:
                   A = Archived
                   H = Hidden
                   S = System
                   R = Read Only
                 If you want to save these attribute changes, you can then press
                 ENTER to accept them, or ESC to cancel.

F12              Toggle COMMAND MODE - when in COMMAND MODE, all alphanumeric
		 keys are accumulated into a COMMAND BUFFER, which is
		 displayed at the bottom of the screen and executed when ENTER
                 is pressed.  As in NC, pressing CTRL+ENTER when on a file
                 name will add the filename to the current command line,
                 followed by a space.  Command mode can also be activated
                 on startup by entering "COMMANDMODE=YES" into your INI
		 file.  While in COMMAND MODE, a 'C' appears at the extreme
                 lower right corner of the screen.  Because most characters
                 are passed through to the command line, most of the mnemonic
                 characters for commands are disabled, and commands must be
                 accessed through the function keys and the menu (F9).
		 
Other commands, not on the menu, are:
+:               Select files in current panel matching a pattern.  Patterns
                 are specified according to the following rules:
                    '*' matches any sequence of characters (0 or more)
                    '?' matches any single character
                    [SET] matches any character in the specified set,
                    [^SET] matches any character not in the specified set.

                    A set is composed of characters or ranges; a range looks
                    like character hyphen character (as in 0-9 or A-Z).
                    [0-9a-zA-Z_] is the minimal set of characters allowed in
                    the [..] pattern construct.

                    To suppress the special syntactic significance of any
                    of `[]*?!^-\', and match the character exactly, precede
                    it with a `\'.


-:               Un-select files in current panel matching a pattern (as
                 described above).

/:               Search for a file.  This scans the current list for the first 
                 file name most closely matching the string you enter at
                 the 'Find:' prompt (which appears under the list windows)
                 
!:               Execute a command in the current directory.  This allows you
                 to type in a command line to execute (at the '!' prompt).  The
                 command is executed in the current session, so you cannot 
                 launch a PM program.  Any '@' character in the command line
                 is replaced with the full path of the current file.  A '^' 
                 character is replaced with the names (but not paths) of all
                 files which are marked in the current directory.  So, for 
                 example, you could mark a bunch of files and then type:
                    !pkzip files.zip ^
                 to archive all the marked files into files.zip.

h:               Show a help screen with all command keys

ALT+F1:          Get a new drive/directory for the left panel

ALT+F2:          Get a new drive/directory for the right panel

CTRL+F1:         Re-read the directory for the left panel

CTRL+F2:         Re-Read the directory for the right panel


The INI file
------------
  For those unfamiliar with Microsoft products, many are configured using
ASCII text configuration files, one of which is called TOOLS.INI  (You might
be more familiar with the WIN.INI file).  This file is usually located in the
directory pointed to by the INIT environment variable.
  The TOOLS.INI file is divided into sections, delimited by "[SECTIONNAME]",
and within each section are placed one or more configuration parameters in the
format "parm = value".  Any text following a ';' is ignored.
  Here is an example section from a TOOLS.INI file for FC, which shows each of
the available parameters along with an explanation of what the parameter is
for.


;-------------------Configuration for FILE COMMANDO---------------------------

;   The first five parameters specify screen attributes used by FC.  All video
; attributes are defined as bytes as shown below.
;   Calculate a color value by taking the desired background color in the high
; nibble and the foreground color in the low nibble and computing the decimal
; equivalent.  For example, Cyan letters on a Red background would
; correspond to a Hex value of 0x43, or decimal 67.  The color values are
; shown in the chart below.
;
;
;       BLACK   0x0    BLUE      0x1    GREEN   0x2    CYAN    0x3
;       RED     0x4    MAGENTA   0x5    BROWN   0x6    LTGREY  0x7
;       DKGREY  0x8    LTBLUE    0x9    LTGREEN 0xA    LTCYAN  0xB
;       LTRED   0xC    LTMAGENTA 0xD    YELLOW  0xE    WHITE   0xF

[FC]
  BorderColor = 27                ; Window Borders
  WindowColor = 27                ; Window Inside Text
  HilightColor = 30               ; Marked Files
  SelectedColor = 48              ; Bounce Bar
  HilightSelectedColor = 62       ; Bounce Bar on Marked File

;   The VIEWER and EDITOR parameters specify the programs to be launched by the
; the VIEW and EDIT commands described above.  The full path of the executable
; file must be specified, including the extension (.com or .exe).  The '@'
; character in the command will be replaced by the full path specification of
; the selected file. See EXTENSIONS below for more info.

  Viewer = c:\os2\e.exe @
  Editor = c:\os2\e.exe @

; The COMMANDMODE parameter specifies whether or not FC will start up in
; COMMAND mode, allowing you to type a command directly instead of using
; the ! operator.

  CommandMode = NO

; The IGNORECASE option indicated whether or not FC should ignore alphabetic
; case when comparing and sorting file names.  HPFS volumes allow you to
; distinguish between upper and lower case in file names.

  IgnoreCase = YES

; The INSERTMODE option specifies whether text input starts in insert mode or
; overwrite mode by default.  Insert mode can sometime be toggled using the
; INS key.  The default is YES.

  InsertMode = YES

; The CONFIRMCOPY and CONFIRMMOVE options tell FC whether or not to ask for
; confirmation when completing non-destructive copy and move operations
; (ones which would not result in a file being over-written).  The default
; for both options is YES

  ConfirmCopy = NO
  ConfirmMove = NO

;   The EXTENSIONS paramter allows you to specify commands to be executed
; when you press ENTER on a file list entry.  Each extension specified on the
; EXTENSIONS line must have a corresponding parameter listing the command (in
; the same format as for the VIEWER above) to be executed for files with that
; extension.  This command will be started in a new session, separate from FC.
; This will allow you to start PM programs from FC, as well as VIO programs.
; When launching external programs, the default is to run the program in
; whatever tyye of window the OS/2 session manager chooses, which means that
; if FC is running full screen, your external programs will be launched
; in another full-screen session, and if FC is running in a VIO window,
; external programs will also launch in a VIO window.  You can over-ride this
; default behavior by prefixing an external command with a program type
; in parenthesis.  Valid prefixes are (V) for a VIO session, (F) for a
; Full-Screen session, (P) for a PM program (usually not needed) and (C) for
; the default session.  These prefixes can also be used for the Editor and
; Viewer parameters, above.  An example is shown below for the .C extension
; Also, be sure to put the .EXE or .COM extension on the program so OS/2 knows
; what to run.

  Extensions = EXE COM CMD ZIP C
  EXE = @
  COM = @
  CMD = cmd.exe /C @
  TXT = c:\os2\e.exe @
  C   = (F)VI.EXE @
;-------------------Configuration for FILE COMMANDO------------------------

  If you do not currently have a TOOLS.INI file, you can use file included
in the archive with FC, which contains the example parameters shown above.

  There are four places that FC will look for its INI file, in this order:
    1) In the directory specified by the '-i' command line option
    2) In the directory given by the FCINI environment variable
       (e.g. SET FCINI=C:\BIN)
    3) In the directory given by the INIT environment variable
       (e.g. SET INIT=C:\C60\INIT)
    4) In the directory that FC was executed from


Command Line Arguments
  The following values can be passed to FC through their associated command
line options.
  -i           Don't Ignore Case in file sorting and comparisons.
               The default is to ignore case

  -p[path]     Supplies the path to the TOOLS.INI file

  -f[filename] Supplies the name of the initialization file (to override
               the default name of TOOLS.INI

For example:
   FC -I -PC:\TMP -FFC.INI
Would be a valid command line to start FC with the above options.


Note for modem users.
  Since the cursor movement keys do not usually transfer well through most
terminal programs, the numbers on the numeric keypad corresponding to the
cursor keys will also be accepted for movement in most lists.  In addition,
all of the function key commands (except command mode) have character key 
equivalents to enhance this functionality.


  FC was written by Sean Purcell, and is copyright (c) 1991,1992 by 
Sean Purcell, all rights reserved.  FC is provided as FREEWARE, no 
compensation need be provided for it's use, although a six pack of good beer 
is always welcome. :-)
  FC has been tested with OS/2 version 1.21, 1.3, and 2.0

Send questions or comments to the author at: 
        CIS: 73650,372
        Internet: 73650.372@compuserve.com

Please let me know if you use this program, whether or not you like it, and
what you would like to see added, enhanced, or changed.

Revision History
v1.1:  Internal use, testing
v1.2:  Added string editing, file selection count, sort by size,
         directory stacking.  First release version.
v1.9:  Beta test version for 2.0:
       Fixed Move and Copy of a single file in the same directory
       Fixed '/' option to find first matching file, skipping directories
       Fixed PgUp and PgDn keys to behave the way they should
       Removed '..' entry from the root of an HPFS volume
       Changed time-sort to reverse order (newest first)
       Added Command Mode
       Added long filename (HPFS) support
       Added '?' key to view long filenames and view and change attributes
       Added help screen
       Right-justified file extentions
       Added check for FCINI and command line options for INI file
       Added check for TOOLS.INI in the directory FC runs from
       Added case sensativity options
       Added support for international date/time formats
       Added ALT+F1 and ALT+F2 to change directory in left & right panels
       Added CTRL+F1 and CTRL+F2 to force re-read of left & right panels
v1.95: Fixed some problems in Beta version
       Added CONFIRMCOPY and CONFIRMMOVE options
       Added support for internal OS/2 commands (DIR, COPY, etc.)
       Fixed problem in directory compare caused by changing time-order sort
       Added new color option for bounce bar on selected file.
       Added INSERTMODE option to control default insert mode in edit fields
       Fixed problem where child sessions didn't inhetit FC's current directory,
         so, for example, unzipped files didn't go to the right place.
       Improved (but not yet perfected) the behavior of the hilight bar when
         moving up and down through the directory tree.  As long as you're
         not deleting files the bounce bar should stay in the right place.
v2.0:  Released to public.


Known Problems:
+  The bounce bar sometimes leaves a ghost behind after a '/' operation.
+  Screen colors are not preserved when launching external programs

Plans for the Future:
+  Handling ciritcal errors (e.g. no disk in drive).
+  Built-in archive file viewers for popular formats (ZIP, ZOO, LZH, etc.)

$Header: F:\fc\RCS\readme.doc 1.95 1992/10/04 17:40:27 SCP Exp $
