(We will generally refer to the program files as CF.COM, CF.OVY and CF.CFG, because this is a renaming convention we recommend just to give the user a shortcut in typing DOS command lines. You should think of "CF" and "CMFiler" as interchangeable.)
Each "panel" corresponds to a "path" to files, in the DOS vernacular, and the terms "panel" and "path" are used interchangeably throughout. Open the right panel by pressing the right arrow. You will be prompted at the bottom of the screen to specify a drive letter. (The bottom lines become the "dialog" area for information to you about what CMFiler is doing, or what it is waiting for you to do.) Just press the letter corresponding to a valid drive - don't press Enter, just a letter key. The current directory of that drive will be shown in the right panel in the same format as the left panel. The bright yellow color of the path specification on line 2 and the blinking cursor now identify the right panel as the "source" path. The left panel has become the "target" or "destination" path for the copy , append and move operations. Ctrl-W sWaps the panels left and right.
When you first start CMFiler, the left panel shows the contents of the current directory on the default drive. Line 1 of this active panel shows the disk volume name if any, and a prompt area for four display enhancement features: the key combination Ctrl-O (denoted by ^O to save space) allows selection of one of nine file Ordering schemes; ^H toggles the "Hide" mode switch; ^C toggles the "Compare" mode switch; and ^M allows specifying a file "Mask". Line 2 shows the path to the current directory. In 25 line video display mode, the first 20 entries, directories first, then files, are displayed in lines 3-22. Line 23 gives vital information about the disk, such as room left, and lines 24-25 contain an abbreviated help screen.
The thick versus thin sections of the vertical line to the left of the file list denote the relative position and size of the current screen display within the full directory listing.
If you do not press a key within about 1-1/2 minutes, the screen goes into screen-saver mode. Just press any key to return to the main display. You may force the screen-Saver mode with Ctrl-S.
Now take a look at the file listing. You see the name of the file, date, time and size in kb. As with the disk space information just below the file list display, size is in integer multiples of kilobytes. If you want to see exactly how big a file is, in bytes, press "+" to expand the size field. (I had to give away the file attributes to do this and still keep the two panels readable.) Shift back to the "contracted" kilobyte form of file size with "-".
The display of system date and time may be toggled on or off with the "5" key. There is no obvious mnemonic; however, one user suggested that 5 o'clock is Miller "Time".
The two-line help area at the bottom of the screen contains a set of abbreviated cues to assist with the recollection of the mnemonic single-key commands. With no "modifier" keys pressed [i.e., the Shift-, Alt-and Ctrl- keys all up], the help area shows the operations available with the unmodified keys, with the mnemonic code highlighted. These are typically the most frequently used operations; the letter C for "Copy file(s), E for "Edit file", D for "Delete file or directory", T for "Tag file", the number 1 for "toggle the file Read-only attribute", and so forth.
Additional commands are available which use similar mnemonic devices, but with the keyboard modified by Shift-, Alt- or Ctrl-. Press one of the Shift- keys, and notice the change in the bottom lines. These are the commands enabled by the letters shown in highlight, modified by the key you are holding down. Press Ctrl- and Alt- in turn. All these operations, both "unmodified" and "modified", will be explained as we go along. Just be aware that the visual cues for the modifier keys are there when you want them.
Incidentally, there is some rationale for which of the Shift-, Alt- or Ctrl- keys was used as the modifier for a particular "modified" operation, and there are some devices which may help you remember the modified keys as well as the more straightforward mnemonic devices of the unmodified keys: o The modifier "Shift-" is often used for operations involving transfers of control or data to or from the other panel. For example, Shift-Enter, when the cursor is on a subdirectory entry, means display this subdirectory in the other panel and jump across to it. Other commands which follow this convention, and which you will encounter in more detail, are Shift-Left/Rt Arrow, Shift-P, Shift-*, Shift-\, and Shift-F. o The modifier "Ctrl-" is most often used to "toggle" the state of a "switch" or "tags" - that is, to invert something. For example, Ctrl-H toggles the state of the "hide switch" , i.e., if Y ("yes" or "on") it goes to N ("no" or "off"), if N it goes to Y. Other examples include Ctrl-O, Ctrl-M, Ctrl-C, Ctrl-A, and Ctrl-L. o The modifier "Alt-" is most often used just to indicate an operation associated with a mnemonic alphabet key, but for which the unmodified key was already in use as a mnemonic for a more frequent operation. For example, C means "Copy", and is one of the most frequent operations; Alt-C means "add file spec to Command tail", and is used far less frequently. (In the editor, Alt-modified keys are used a lot, since the unmodified keys are used for typing text!)
At the top of the screen you see a message "^Comp=Y". The "Y" means comparison mode is enabled, so that any file in the target panel whose name is the same as the file in the source panel will be shown and its date-time stamp highlighted for easy identification. If the files have different date-time, the newer version will be blinking, except when viewing notes. You may toggle this switch with the key combination Ctrl-C.
In comparison mode there is a useful feature which enables you to get quickly to a file with the same name in the opposite panel. In arrowing back and forth between panels in comparison mode, with some files by the same name in each panel, you probably noticed that the target panel shifted as necessary to bring the duplicate name into view, but as soon as you shifted over to the target panel, it "remembered" and adjusted the display back to where the top line and cursor had been left, and you lost the duplicate file from view. But suppose you had seen a more recent file in the target panel, as evidenced by the blinking highlight, and you really wanted immediately to arrow over to it and copy it into the source. The Shift-Left/Rt Arrow combination does this. It resets the target panel display parameters so the cursor goes right to the matched file name.
Also at the top is the message "^Hide=Y". The "Y" means that hide mode is enabled - the screen display will not show any hidden files - those with the hidden attribute set. This is handy for cleaning up your displays - just hide the overhead! You may toggle the state of this switch with the key combination Ctrl-H. The current state of the Hide and Compare switches is set as the default any time you do a Shift-O user Options, a Shift-S options Save, or a Shift-F10 edit, discussed in Chapter 4 on application launching.
Also at the top is the message "^Mask=*.*". This is a mask that lets you sift out all but files with a certain characteristic. For example, if you want to see only the .EXE files, press Ctrl-M, Tab, type "EXE", and Enter. Tab and Shift-Tab position the cursor on the extension and name fields, respectively. The left and right panel masks can be set independently. As a visual reminder, the mask blinks whenever it is other than *.*.
For display in CGA/EGA/VGA systems, CMFiler has four choices of color palettes. The command Ctrl-P (for Palette) lets you cycle through the choices with the spacebar, and select a different color scheme with Enter or return to the original one with Esc. The choice may be permanently recorded in the .CFG file (discussed in more detail later).
In addition, each palette can now be edited by pressing E within the palette facility. Each of five colors in the file list display can be selected by arrowing around an 8x8 color array, and pressing the spacebar when the desired color is reached. The affect of each selection is shown as the arrow is moved around the color array, so no guesswork is required.
This facility is best used with both panels open, and some files tagged in one of the panels, since the file tagging color and both the source and target path line colors are independently variable. When finished editing one palette, hit Enter to return to the original level of the palette facility, and either Enter to set that palette as the default choice, or another key to rotate to the next palette. The editor and tree displays are not independently adjustable, but take their colors from the current palette.
The palette edit routine (Ctrl-P, E) also has the option to toggle the high-intensity bit selectively for each color field. The command "T" in the color menu toggles between high- and normal-intensity foreground color attribute.
In addition, the color palette exit sequence has the option to set an internal flag which causes a "pip" to be shown in front of the extension of each file with today's date stamp, and colors the extensions of certain "preferred" files differently from the normal file color. The initial setting of this flag is "on", and the "preferred" extensions which are specified for the special colors are the executables - .COM, .EXE, .BAT and .BTM. The flag may be turned off, and the preferred extension colors may be edited:
1. When you leave the palette menu with the Enter key, you will be asked if you want to flag today's files and the "preferred" files. If you answer No, the exit sequence is complete.
2. If you answer Yes, you will be given an opportunity to edit the colors for each of the preferred extensions in the same way as you edited the main palette colors. When you are finished, exit this secondary color facility with the Enter key.
The preferred extensions may themselves be edited in the Ctrl-O Order menu.
CMFiler also has four options for the alphabetic cases used in the panel displays. The command Ctrl-E (for casE) lets you cycle through the choices with the spacebar, as in the Palette above, which are: 1) files and directories all upper case, 2) directories in upper case, files in lower, 3) all in lower case, and 4) all in "modified-Tauck" convention, where all letters are lower case except the first and any that follows a non-alphabetic character (e.g., Cmfiler.Com or Read_Me.1St). Case 2 is the default, but I find case 4 easiest to read.
CMFiler supports optional command line parameters to specify the initial path for the left panel, right panel, file mask and color set, in the syntax:
cf [pathspec1[\mask1] [pathspec2[\mask2]]] [@color]
where pathspec1 and pathspec2 are directory specifications to the initial directories to be displayed in the left and right panels, mask1 and mask2 are any valid mask specifications, and color is C, V, M, L, E or T for the CGA/EGA/VGA, monochrome, generic LCD, Epson or Tandy LCD color attribute sets. The masks may be attached to either pathspec or stand alone, but must be of the form "*.ext". The color specification may appear anywhere. Examples of valid command lines might be:
cf c:\assembly\*.asm c:\pcw @c cmfiler c:dos @m CF UTILS WP51\*.DOC CMFILER @C *.EXE cf c:\dos\*.com d:\utils\*.exe
CMFiler incorporates security features which support its use on systems containing sensitive information:
o You may specify a password, and change it at any time during a session, which must be given back to reenter CMFiler once it has gone to screen-saver mode (about 1-1/2 minutes after last keystroke from main screen display). This password is the bottom-most field in the data entry screen presented by the key combination Shift-F10 - discussed in further detail in Chapter 4.
o You may force CMFiler into screen-saver mode with the key combination Ctrl-S. This is so that, if you want to secure access to your computer immediately, you don't have to wait the 1-1/2 minutes for the screen-saver and password to automatically be invoked.
o During any file copy operation, CMFiler always fills in the "slack space" in the last sector with the string "cfcfcf . . . ", to ensure that no sensitive information residual in the DOS I/O buffers is inadvertently passed into the last sector slack space.
o If you set the option "wipe old files before HARD Delete, " on the Shift-O user Options screen, CMFiler overwrites all the data sectors of old files with "cfcfcf . . . " before calling the DOS file- delete service (which does not destroy data, but alters only the directory table). This feature ensures complete data destruction and is useful if you deal with sensitive information.
o CMFiler employs a rudimentary check-summing routine to check the .COM and .OVY files each time they are loaded. This routine will sense any changes in the execution code and fixed data areas of either file, and warn the user of the corruption. Files may become corrupted as a result of an operating system error during data transmission, a sector going bad on a disk, or external tampering by a person or a virus. This check-summing feature can detect (and has detected) the presence of some older file infecting viruses, but may be foiled by modern stealth viruses, so do not count on it for virus protection. There is no substitute for good antivirus software. I use and strongly recommend Wolfgang Stiller's Integrity Master. He is President of Stiller Research and a member of the ASP's Virus Information Panel, and a recognized expert in the anti-virus community.
o CMFiler also protects the file integrity signature data created by your anti-virus software from being overcopied. The default integrity data file name is ZZ##.IM, the default assigned by Stiller's Integrity Master, but this name may be changed with Alt-I (for "ID name change").
CMFiler should work with all reasonably current IBM-compatible CGA/EGA/VGA and monochrome monitors, though I have heard of some problems with machines under very early BIOS (Basic Input/Output System) versions.
When first run, if CMFiler cannot find a .CFG file containing previously specified user option data, and does not sense a monochrome video card installed (which only supports one color set), it knows it cannot tell for sure what you have installed and will ask you to specify a monitor type by pressing C, V, L, T, E or M. Your choice is recorded by CMFiler creating a .CFG file. If you have an LCD monitor other than Tandy or Epson, you may invoke a generic LCD color set with the letter L. For Tandy or Epson LCD's try T or E. If you are not satisfied with the result, try the choices available in the Shift-O user Option screen, lines 10 and 11, until one seems to work.
If you have a "monochrome" monitor being driven by a color card, CMFiler senses the color card's presence, not the monitor's. Press M for this case to force the monochrome color set.
When running CMFILER.COM from the DOS prompt, you may put one of these six letters in the command line, preceded by the character @, and bypass the initial question.
There are a few precautions and limitations the user should be aware of:
o Terminate-and-Stay-Resident programs should not be launched from CMFiler. At best you will end up with a fragmented memory when you exit CMFiler, and at worst you will have a system crash.
o CMFiler requires a minimum of 252 kb of free memory to run. This permits generous memory allocations for the directory listings, a print spooler buffer, and a copy buffer. During application launching, however, the resident portion of CMFiler can be made to occupy as little as 22 kb, using the "Small" footprint option of the "Kernel" command (letter K pressed from the main screen - discussed more in Chapters 1 and 4). This is the default selection on initial start-up.
o Maximum directory size recognized by the main module varies from 300 to 2400 entries, depending on free memory available. If the directory size limit is reached, an informational note is given. The rest of the directory is inaccessible, as though it were hidden. This is a benign, non-damaging limitation.
o The algorithms used by the editor module place certain limitations on it in "edit" mode which do not apply in "view" mode. If you attempt to edit a file which exceeds these limitations, the editor reverts to view mode automatically:
o The tree module limits the number of entries in a directory tree structure to 1700 total subdirectories. The limit on number of files is strictly a function of available memory.
o The main and tree modules both limit the depth of directory nesting to eight levels (e.g., "C:\1\2\3\4\5\6\7\8" is an example of the most deeply nested path allowed), and the length of path specifications to 66 characters (this is a DOS limitation).
o A limitation of DOS itself which users frequently run into and are puzzled by, because of the cryptic error message DOS returns, is the maximum number of entries permitted in the root directory. This number is 112 for 5.25" disks formatted at 360kb and 3.5" @ 720kb; and 224 for 5.25" @ 1.2Mb and 3.5" @ 1.44Mb. The error message returned is "Access denied creating file". Be aware that the volume label and each subdirectory is an "entry", as well as each file.
Shift back and forth with the left and right arrow keys. You are in effect switching source and target paths. Use the up/down arrows, PgUp/PgDn, Home and End keys to move the cursor within a panel. PgUp moves the cursor to the top of the panel if it was not already there, and then moves up one page in the directory. PgDn is similar for the opposite direction. Home goes to the first line of the directory, End to the last.
If a mouse driver is installed, CMFiler will respond to mouse movement by opening a five-symbol menu bar beside the highlighted entry. Click the left button on the triangular up or down arrow symbol for PgUp or PgDn. Click on the triangular left or right arrow symbol to jump across to the opposite panel.
The command G (for "Go to...") lets you type in a file name to move the cursor to within the directory listing. As you type, the cursor is repositioned to the first file described by the character string you are building. When you have come to the file you want, press Enter or Esc. Alt-G is the equivalent "Go to. . ." for subdirectories.
In Compare mode, whenever there is a duplicate file name highlighted in the opposite panel, you may jump directly across to it with the move Shift-Left/Right Arrow, vice the unmodified arrows.
The default cursor configuration is a block shape, to make it easy to find on the screen. You may reduce the size of the cursor by pressing Ctrl-K (for "Kursor" height - shown as "Kursht" in the prompt area). Each press decreases the height. This configuration can be saved to the CF.CFG file.
Whenever CMFiler is in "Compare" mode and the cursor is on the name of a file in the source panel that also happens to exist anywhere in the target path, the target panel display is adjusted so that the file appears in the panel, and its date/time signature is put in high- intensity to catch your eye and show you the duplication. If the date, time and size of the two files are not the same, the date/time signature of the newer file will blink. You can toggle compare mode off and on with the key combination Ctrl-C (for "Compare").
Press V and a data window opens at the bottom for you to enter a new volume label for your disk. The existing volume label is offered as a default for editing ease.
CMFiler cannot tell when you have changed disks in the drive whose contents are shown on one of the screen panels. You have to tell it by putting the cursor in that panel and pressing Shift-R (for "Relist"), or N (for "New disk"), and then the letter designator for that drive at the ensuing prompt. If you want to switch drives, say from A to B for the right-hand panel, put the cursor to the right, press N and B.
Alternatively, click the left button on the three-line menu symbol in the mouse bar, click on the "New drive" line, and highlight and click on the letter of the desired drive.
Sometimes when you are doing single-panel operations, like constructing a note set or editing files, it is a distraction to have both screen panels open at once. To close the right-hand panel and return to single left-hand panel display, put the cursor in the right- hand panel and press N and Enter.
Make a new subdirectory in the source path by pressing Ins while the
cursor is on a directory, or M (for the DOS command "Mkdir") and
entering a name. CMFiler will create this directory and put the cursor on
it. Press Enter. Note the new path on line 2 of the screen display,
and only the "
To change directories using the mouse, highlight the directory name
by moving the mouse up or down, move the mouse left to highlight the
left-arrow symbol, and click the left button. (Clicking on this
leftmost mouse bar arrow symbol always has the same effect as hitting
the Enter key.)
To put a subdirectory from the current source panel list into the
target panel, put the cursor on its name and press Shift-Enter. The
subdirectory is listed in the opposite panel, and the cursor shifts
over to it. In similar fashion, Shift-P puts the source panel's
parent directory into the opposite panel, and Shift-\ puts the
source's root into the opposite panel. Finally, Shift-* puts the
source directory itself into the target. This is handy for quickly
setting up the same directories side-by-side for ZIPping/UNZIPping,
discussed in Chapter 4.
Remove a subdirectory by placing the cursor on it and pressing Del
or D (for "Delete", which I use interchangeably for file deletion and
subdirectory removal). Note that the subdirectory has to be empty
first - a DOS safeguard that I have preserved.
Normally, directories can only take the "Hidden" attribute. You may press 2
on a directory in the main or tree module to toggle the Hidden attribute.
The Jump command may be used to jump to another path. In either
panel, press J, and type in the new path, including drive if desired.
If the path exists, CMFiler will read and display its directory
contents and set it as the new path for that panel.
A "path alias" facility is available in the main module. This
allows assigning the commands Alt-1 through Alt-9 to your nine most
frequently used directories, for instant navigation from any drive and
path. To assign a path to the alias list, first go to the
subdirectory you want to add, then press Alt-A (for Alias). The Alias
menu shows a list numbered 1 through 9, each with a user-definable
title and path. Pick a free number, press it and type in the title
you want as your key for the path. Hitting Enter saves the alias.
To navigate to an aliased path instantly, either press Alt- and
the number you assigned (if you remember), or press Alt-A, look over
the list, and while still holding down the Alt-key press the number.
The alias facility can also be used in place of pressing a drive
letter after the New drive command, or when arrowing over to the
right-hand panel when it is blank. The Shift- key, used with Alt-1
through Alt-9, puts the aliased path into the opposite panel and goes
across to it, in much the same way as Shift-\, Shift-P and Shift-Enter
on a directory name act to put the selected directory into the
opposite path and jump across.
In the file list, to the far right in each panel, you will
probably see A's. This means that the DOS "Archive" attribute bit is
set in the file attribute byte. DOS sets this bit every time it
operates on a file. CMFiler lets you operate on this bit and the other
bits in the DOS file attribute byte - "Read-only", "Hidden", and
"System". Before doing this exercise, look at the top line of the
display. If you see "^Hide=N", that means that files with the DOS
"Hidden" attribute set will be displayed anyway - i. e., the CMFiler "Hide
switch" is off. Chances are you will see "N" instead of "Y", meaning
that the Hide switch is off - the default setting. In the "Y"
setting, files will disappear from view as you set the DOS hidden
attribute, so you need to ensure the hide switch is set to "N". Press
Ctrl-H if necessary to toggle the hide switch off.
Either tag one or more files, or position the cursor on the file
whose attribute(s) you want to set, and press 1 to toggle the state of
the Read-only attribute, 2 to toggle the Hidden attribute, 3 to toggle
the System file attribute, 4 to toggle the Archive attribute, or 0
(zero) to clear all attributes. You may also toggle the hidden
attribute (with 2) of a subdirectory, but this may be done one
subdirectory at a time. Note that "hiding" a file makes it invisible
to CMFiler only when the hide switch is set on, as shown in the top line.
Decide for yourself which setting of the hide switch you prefer. Some
people like to hide the "overhead" files and directories on their
disks, and leave the hide switch on as the default setting to "clean
up" the display.
For all the file commands (copy, delete, move, back up), the
operation is performed on all the tagged files in the source panel, if
any are tagged, and only on the file at the cursor if none are tagged.
Some file managers offer different commands for "copy tagged" and
"copy file at cursor", and so forth. I have always found this
unnecessarily complicated. For the few occasions in which you have a
bunch of files tagged to do one of these operations (say you want to
copy them), and you discover just before you start that you really
wanted to do some other operation on just one of them first (say you
realize one of them is out-of-date and you want to delete it), you
will have to either untag them all with A, do the operation on the one
file, then retag and do the original operation; or just postpone the
one-file operation. For this example, it is easier just to toggle the
tag on the one out-of-date file off with T, copy the other bunch,
clear the tags, and delete the one. It becomes just a matter of a
little thought about the order in which you do things.
The "view" operation (discussed in Chapter 2) does not clear
existing tags. So, suppose you are cleaning up a disk, tagging files
that you recognize by name as no longer needed in preparation for a
single, massive delete, and you come to one you aren't sure about. Put
the cursor on it, press Enter (the "view" command), browse through it
and decide if it's a keeper, and Esc from view mode. Note the
previously placed tags are still there, and the cursor is still on the
mystery file waiting for you to decide whether or not to tag it.
In addition to T or spacebar (which toggles the state of an
individual file's "normal" Tag) and A (which clears or sets All tags),
there are some more tagging operations. Alt-T applies an "append
tag", discussed later. Alt-M tags all the files in the panel with the
same naMe as the file under the cursor, Alt-E same Extension. Alt-D
tags all files in the panel with the same Date as the file at the
cursor, Alt-N tags all files Newer, and Alt-O Older. Alt-P tags in
the oPposite panel all the files with the same names as files tagged
in the source panel. And finally, Ctrl-A toggles the state of All
tags in the panel.
If, for example, you wanted to copy all .COM files, put the cursor
on any .COM file, press Alt-E, and C. Or suppose that, at the end of
the day, you wanted to copy/update all the files written or revised
today. Just put the cursor on any file with today's date and press
Alt-D and C. Then suppose you wanted to delete all the earlier files.
Press A to clear the tags, Alt-O and D, and confirm the deletion as
requested, after a final check of the screen.
Put the cursor on a file name and press the letter C. This copies
the file from the source to the target path. "Tag" several files with
the letter T or the Spacebar or with the mouse right button. Now
press C to copy this group from source to target. Clear all the tags
with A (tag/untag All). Press A again, and see that all the files are
now tagged. Untag an individual file with T. ("T" actually toggles
the state of an internal tag bit assigned to each file and used for
temporary marking purposes only. "A" clears all the tags if any were
set, or sets all the tags if all were clear. No information is changed
on the disk itself. These are "volatile" tags, maintained only until
the directory is re-read for some reason, such as a file deletion or a
copy operation into the directory.)
Copying files is also a selection in the mouse menu, popped up by
clicking on the three-line symbol in the mouse bar.
CMFiler looks first at the space available on the target path before it
starts to copy. If it doesn't see enough room free, it doesn't start
the operation, and alerts you to this limitation. This prevents write
errors, messed up file allocation tables and incomplete files that can
result when space runs out during a copy operation.
CMFiler has several special features in the copy operation:
o If an identical file exists in the target path - same name,
extension, date, time and size - CMFiler does not normally copy the source
to the target, as this would be wasted motion, on the assumption that
the files are identical. This "no overcopy" feature is controlled by
one of the switches which may be toggled in the user options menu
brought up with the command Shift-O. It is sometimes useful to change
its state.
Suppose you have two files that you want to concatenate (stick
together as one, heel-to-toe). Tag them with "append" tags with the
key combination Alt-T or Alt-spacebar in the order in which you want
them to be concatenated, and press C. CMFiler will offer you a file name
for the new concatenated file consisting of the name of the first file
Alt-Tagged plus the extension "APF" (for APpended File). You may edit
or accept this name as given.Then CMFiler creates this file in the target
path and appends into this file each of the Alt-Tagged source files
in order. You may concatenate up to 35 files at a time this way. The
order in which the file was Alt-Tagged is shown in the character that
appears to the left of the file name as it is tagged (1-9, then a-z).
Or, if you had pressed B instead of C after affixing the Alt-Tags, the
concatenated file would have been written as a backup into the source
path instead of the target.
With a couple of files tagged, look at the line just below the last
line of the directory listing. You will see the space in use in the
current directory ("KB Used"), the amount of disk space occupied by
any tagged files ("Tagd") and the space still free ("Free"). Also, in
the line below will appear after each tagging operation the current
number of files tagged. Disk space is expressed in kilobytes, rounded
up to the nearest integer value.
Assuming the amount of space represented by tagged files is less
than or equal to space available, press B to back up all the tagged
files. CMFiler's convention for assigning backup file names in this
operation is to reuse the name and the first two letters of the
extension (filling blanks with exclamation points if necessary), and
then make the last letter of the extension a tilde character (~).Thus
the backup should always immediately follow the primary file in any
alphabetical listing.
You may copy a file and rename it in one operation. Only one file
at a time may be copied in this way. The command is Alt-R (copy with
Rename). It operates only on the file at the cursor. Pressing Down
Arrow enables Win 95 long filename support for the file to be renamed.
With the panels selected to different subdirectories on the same
disk, one or more files may be "moved" from one subdirectory to the
other. This operation does not read and write the file data clusters,
but only changes the subdirectory table entries, so large files may be
moved around quickly. Tag files if desired, as with Copy, and press
the move command Shift-C (instead of C - think of moving as just
another kind of "copying", but you are "shifting" files to a different
directory instead).
If the conditions are not satisfied for moving the files (e.g. the
directories are not on the same disk), CMFiler will copy the files to the
target path, and then ask for confirmation that you want to hard-
delete the source files to complete the move operation. This
encumbrance is deliberate; because CMFiler is so fast, I have made it
require confirmation whenever any file destruction is involved.
CMFiler can fill a collection of floppy disks from a hard disk directory.
This is good for making wholesale backups. Select in one panel the
directory from which you want to fill (the source). Tag all the files
you want to copy (CMFiler will tag them all if none were tagged), and press
Shift-i (for "fill"). CMFiler will first ask which floppy drive to fill
to, and how much space you want to reserve on each floppy for future
growth. Then it will copy as many files as it can to that drive, and
prompt you to insert the next disk. If the disk is not already
formatted, CMFiler will ask what density you want, and then format the disk
before continuing with filling. CMFiler will repeat this process until the
whole directory is copied.
This floppy filler is "smart". It first looks at each floppy to see
if there are existing files that need to be updated, and copies them
first. Then it copies other files to fill the remaining space if it
can. Thus the floppy filler can be used to update a set of existing
backups as well as create a new set.
After each floppy disk is filled, the source files that were
successfully copied are untagged. You may interrupt the fill operation
and then resume it where you left off, as long as you leave the source
panel with its tagged files as-is.
CMFiler can also freshen the files in one directory from another. The
convention is to freshen the source from the target, so it works
opposite the floppy filler. With the source panel set up on the
directory to be freshened, and the files tagged that you want
freshened (CMFiler will tag them all if none are tagged), CMFiler will update
the directory by copying from the target all the newer files whose
names match tagged files in the source.
With the cursor on a file and no files tagged, pressing Del or D
results in deleting the file at the cursor, after confirmation. If one
or more files are tagged, they will be deleted after confirmation, not
the file at the cursor. Alt-Tags, discussed below, are treated the
same as normal tags as far as the delete operation is concerned.
On hard disks, the default configuration of CMFiler actually performs
what I will call a "soft" delete for this operation. The files are not
deleted using the DOS delete function, but rather are moved into a
"trash can" directory created by CMFiler, called "~TRASH~". If you delete
files from your hard disk by mistake, they are reliably recoverable
just by switching to the ~TRASH~ directory and moving them back to
the directories they came from using Shift-C.
If you delete a second file by the same name as a file already
collected in the ~TRASH~ directory by a previous soft delete
operation, CMFiler tries to rename this second file by replacing the last
character in the extension with a "1". If this name is already in use,
it tries to rename with a "2" instead, then a "3", and so on, through
"9". Thus, you are assured under all reasonable circumstances of not
losing any deleted files, even duplicates.
Each time you select a new drive in the main module, CMFiler looks to see
if it is a hard drive (A and B are always taken to be floppies), and
then looks in ~TRASH~ if it exists for the presence of files. If it
finds any, it will ask you if you want to purge them - that is,
perform the "hard" DOS file delete on the current trash. You have the
options "yes", "no", or "Enter to view" to see what is in the trash
can. You probably want to keep the ~TRASH~ as uncluttered as possible,
just to avoid tying up disk space needlessly. If you prefer to "empty
the trash" less often than daily, be prepared to be pestered with the
same question the first time you select that disk each day! (The D
command always performs a "hard" delete in the ~TRASH~ directory -this
is the one exception.)
This "soft" delete facility is not intended as a means of backing up
files, but rather is built in solely for the purpose of reliable
recovery from inadvertent file deletion.
An additional delete option is available - Ctrl-D, or "hard" delete.
This operation performs the DOS delete always, regardless of the type
disk selected. Use it when you know you will not want to recover the
deleted files. If you wish to obliterate all data in files before
issuing the hard delete command, set the flag "Wipe old files . . . "
in the Shift-O user Options screen.
And if you are really sure of yourself, you can turn D from soft
delete to hard delete. There is a switch available for this purpose
also in the Shift-O user Options menu mentioned above.
The directory ~TRASH~ is not permitted as the source for a copy or
move operation in the tree module.
Since this directory contains deleted files, files in
this directory may only be moved/copied from the main module, and only
after confirmation.
The main module has a file splitter for creating split files of the same
length, called by Alt-S. With the
target panel set up as the destination path for the split files,
position the cursor on a file in the source panel and press Alt-S.
CMFiler first asks for confirmation that you desire to split the file
into smaller files, with extensions .A00, .A01, - , .A99, .B00, etc.
Then it asks for the file size for the split files, in kilobytes.
Split files are created in the target path, and the original file is
left untouched in the source. The file splitter provides the option
to split files at the nearest end-of-line (defined by a carriage
return, a line feed, or the combination in either order), which is
useful in splitting text files. The file splitter also works with a
single panel open.
The file viewer, called by putting the cursor on a file name in the main
module and pressing Enter, also has a file splitting facility. Put the
cursor at any place you want to insert a divider, and press Alt-I (for dIvider).
Do this up to 19 times. Then press Alt-S (for Split file), and confirm that
you want to create split files as listed. These files are created in the same
directory as the original file, and the original file is unaltered. The files
may be rejoined by using the Alt-Tag and C or B commands (see Concatenation).
The command "R" renames the file or directory at the cursor. The default offering
for the new name is the old name, since oftentimes you only want to
modify the old name.
The wild card character "*" may be used in place of the
new name or the new extension, and the old name or extension is kept.
Or "*" may be used in the upper window (just press the
Up Arrow to get there), to declare that you want to rename all the files with a
certain name or extension. You may use the "*" in the
name or extension field of the upper window, but not in
both. Used in the extension field, for example, it means "change this name,
wherever it appears, to the new name below".
If used in the upper, old name window, the "*" must also be used in the
second window in the same position. CMFiler always senses the use of "*"
in the upper window, and seeds the lower window with this character
in the right position.
In the rename facility there is a special file name-swapping feature that lets you quickly
swap system files like AUTOEXEC and CONFIG for special-purpose
backups. If you tag exactly two files and press R, the rename facility
asks if you want to swap the names of the two tagged files. If you
decline, the normal rename facility is activated for the file at the
cursor.
The rename facility supports Windows 95 long filenames. If CMFiler
detects Win95 as the operating system, it will add a note to the
rename prompt area telling you to press the Down Arrow key for long
filename support. Pressing Down Arrow opens a box next to the
filename for long filename entry.
Win95 long filenames may be up to 255 characters. Win95 assigns an
"alias" filename in regular DOS 8.3 convention consisting of the first
six non-white-space characters of the long filename plus a tilde (~)
and a number, followed by the extension assigned to the long filename.
In using Win95 long filenames, it is advisable to pick the first word
in a way that the alias 8.3 filename will mean something to you. For
example, if you name all your correspondence files "Letter to Jim 2-3-
96", "Letter to Sally 4-5-95", and so forth, the file listing in CMFiler
(which uses the 8.3 aliases) will look like this "LETTER~1",
"LETTER~2", and so forth.
You can see the full long filenames using the notes facility in CMFiler.
You may compare two files to see if they are identical. Put the cursor on
the first file and press Ctrl-R (for compaRe). The second file may be on a
different directory or disk. Find it and press Ctrl-R again. The prompt area
at the bottom of the screen will tell you whether they are identical, and if
not, where the differences begin.
You may change the date/time of a file by putting the cursor on it
and pressing Alt-F. Data windows open for you to enter the new date
and time, with the old date/time as default. You may set a group of
files to the same date/time by tagging them first, then pressing Alt-F,
and confirming the operation for the group.
If you are like me, you sometimes forget what a program with a
strange name does, or what a particular data file is. CMFiler lets you
write notes to yourself about any file. Press Ctrl-N and a Notepad
opens up in the opposite panel for editing. You can type a description
for each file or subdirectory in the directory. The editing keys work
much the same as in the line editor. Each time you call up the
notepad, it appears as it did the last time you edited it. You may
just browse with the up/down arrows, PgUp/Dn, Home/End, edit or add,
etc. Leave the notepad with Esc or Ctrl-Enter. If you use Esc and did
any editing, you will be asked if you want to save that edit of the
notes. Exiting with Ctrl-Enter automatically saves the edit.
A "view Notes" command Shift-N simply replaces the target panel
display with the notes for the source panel, but all the file and
directory service commands, including the source-to-target commands,
such as Copy and move (Shift-C), are still active. However, the
blinking feature in the directory comparison mode is disabled while
the opposite panel is showing the notes.
The notepad is contained in a file called "DESCRIPT.ION", following
the convention of NDOS/4DOS, and notes follow the file when it is
copied or moved to another path or renamed. If you delete a file, its
notes will be lost the next time you call up the notepad. You may
make the DESCRIPT.ION file Hidden and/or Read-only with user Options
in the Shift-O menu.
CMFiler now fully recognizes Windows 95 long filenames, and
preserves them in all copy and move operations in the main module and
tree module. The editor preserves the long filename when editing a
file, but not in the original file when saving it as a backup. The
notes facility in CMFiler imports long filenames as notes. The Make
directory and make File commands, as well as the Rename command, allow
creation of new directories and files with long filenames.
File and directory make and rename functions, F, M and R, go
initially to standard DOS 8.3 format. However, one press of the Down
Arrow key selects Win95 long filename mode, if Windows 95 is
installed.
In Version 6, the old CMFiler note file format, NARATIVE.CF, is retired,
and notes are now kept in the standard DESCRIPT.ION file format
established by 4DOS and NDOS. Before running CMFiler Version 6 the first
time, run the companion utility CONV-NAR.COM in the CMFiler file set. This
utility examines every directory on any hard disk you request, and
does the following:
a. Reads and loads as an image in memory the DESCRIPT.ION file for
this directory, if one exists.
b. Determines if Win95 is the operating system, and if so, finds
all long filenames and imports them into the memory image of the
DESCRIPT.ION file.
c. Reads and translates into DESCRIPT.ION format the NARATIVE.CF
file for this directory, if one exists, and adds to the memory image.
d. Reads and translates the DIRN-???.DAT file for this directory,
if one exists, and adds to the memory image.
e. Removes duplicates, then checks each note to see if it has a
corresponding directory entry, removing extraneous notes, and writes a
new DESCRIPT.ION file into the directory.
f. If the new DESCRIPT.ION was made without error, deletes the old,
now superfluous NARATIVE.CF file.
The heirarchy in consolidating existing notes into the new
DESCRIPT.ION file is: (1) existing DESCRIPT.ION entry; (2) Win95 long
filename; (3) existing NARATIVE.CF entry; and (4) existing DIRN-
???.DAT entry. The CMFiler view-notes and edit-notes facilities also
perform the same consolidation in the specific directory in which they
are called, so information will not be lost by not running CONV-
NAR.COM first. However, for efficiency, it is recommended that CONV-
NAR be run before CMFiler Version 6.
As an assist in quickly loading DESCRIPT.ION files with many (>300)
notes, CMFiler also creates a file called DESCRIPT.PTR, which is a table of
pointers to the starting address of each note in memory. This
companion file to DESCRIPT.ION is non-essential, and is for time-
savings only. It may be deleted if there is some indication it has
become corrupt, such as loss of notes in the view-Notes facility.
The previous limit of 39 characters on notes viewed or made in CMFiler no
longer applies with this changeover in Version 6. Notes may be up to
260 characters long. Win95 users should be aware that Win95 puts a
system limitation of 255 characters for long filenames on files and
directories, and 260 characters total for full path specifications
using long filenames.
When a long filename (LFN) is created in Win95, Win95 also assigns
an "alias" filename in standard DOS 8.3 format. This alias generally
consists of the first six characters of the long filename, not
counting whitespace, plus the "~" character and a number, starting
with 1, plus the LFN's extension, if it exists. Thus the alias Win95
would try to assign to the long filename "This is a long filename.txt"
would be THISIS~1.TXT. However, if a file by this 8.3 name already
exists in the directory ("folder"), then Win95 increases the numerical
tail until it finds a unique alias.
CMFiler still uses the 8.3 filename as the primary sort and display name
for all files, even Win95 LFNs. It is possible to have the same 8.3
LFN aliases representing different files in different directories.
They may appear to be the same file in the CMFiler side-by-side listings,
but they may or may not be the same. During copy and move operations,
however, CMFiler uses the actual LFNs for establishing the identity of
files, and applies the safety nets for overcopying newer files with
older of the same LFN, or read-only files with non-read-only files
with the same LFN. Likewise, if you copy one file with a given LFN
alias from one directory into another which has an entry with the same
LFN alias, but a different LFN (i.e., is actually a different file),
CMFiler will copy the file using the Win95 extended LFN file services, and
let Win95 assign a different alias. In this way, CMFiler prevents any
possibility of inadvertent file destruction resulting from confusion
over LFN aliases.
However, what this also means is that you may have to use the CMFiler
view-notes facility (Shift-N) when comparing directories side-by-side,
to see whether same-named LFN aliases represent the same or different
files. A good practice in assigning long filenames is to use unique
first words or character combinations. Avoid naming every letter
"Letter to Jim", "Letter to Sarah", but rather try "Jim Jones letter
1-3-96", "Sarah Smith letter 2-5-95", and so forth.
Press Alt-L to send a directory Listing to line printer 1. If you do
this from either of the Notes displays, you also get a listing of the
notes, and the file size entries are either the abbreviated or full
values, depending on the display mode set in the directory table
(toggled with + and -).
You can print a file to the parallel printer just by putting the
cursor on the file and pressing L (print fiLe). A menu will appear as
follows:
The file will be put into a special print "queue" for printing to
the parallel port of your choice as a background process while you are
doing other things, like editing another file, updating disks, etc.
Up to five files may be put in the print queue, which may be viewed
with Shift-L.
At times the printer may halt momentarily during disk operations. CMFiler
gives preference to disk operations over printing, to avoid any
conflict in time-critical operations. You may terminate printing with
Ctrl-L. This actually clears the entire print queue. To force a form
feed at the end of the file you have just queued, press Ctrl-F before
you queue the next file. CMFiler sets an internal flag to check that the
last character sent to the printer from that file is a form feed. If
it is not, then it sends one. (Ctrl-F is active when no file is
printing, also, as a way of form-feeding the printer from the
keyboard.)
A new file may be created from the main module by pressing the
letter F ("new File") and entering a name for the new file in the data
entry line. The new file will appear in the directory from which the F
command was issued.
In the main module, put the cursor on a file you wish to edit and press E.
In the main module, put the cursor on a file you wish to view and press
Enter. If the file is a .COM or .EXE file, CMFiler asks if you want to execute
the file instead of view it. Press N. If the file is a .ZIP, .LZH,
.ARJ, .ARC, .BIN or .EXE compressed file, the editor will first search
for and display the names of all the files in the compression.
So far, you have seen the features that make CMFiler useful for file and
directory management - neatness of file display, flexibility in
manipulating directories and files, transparency of operation, and
even the ability to edit files without leaving the environment of CMFiler.
What really makes CMFiler useful as an operating environment, though, is
its ability to execute user applications with an economy of
keystrokes.
Running programs in the DOS environment is one of the more
cumbersome and confusing aspects of DOS, and therefore, by its nature,
this chapter is not terribly straightforward. I will make it as
simple as I know how.
A "user application" is nothing more than a "child" program,
executed by the DOS operating system under the command of the "parent"
program, which stays resident and waits for the "child" program to
finish. When you ran CMFiler from the DOS system prompt, it was as a
"child" of the DOS COMMAND.COM command processor. Some word processors
permit you to "shell" to DOS, leaving the word processor program code
resident in memory. What the word processor program is actually doing
is running the DOS COMMAND.COM command processor as a child. From this
DOS "shell", you could run yet another program as a child of
COMMAND.COM. The more layers of child programs you have at any time,
the more RAM you eat up for the currently running program with the
resident program code of generations of parents waiting to resume
control.
If you use your computer for more than just one task, therefore, you
may find CMFiler useful as an "inner shell" of your operating environment.
You may let all 156 kb stay resident (the CF.COM kernel plus the
CF.OVY overlay) while the child is running, or if you are memory-
limited you may force CMFiler to give back to DOS for allocation to the
child all but 22 kb for the CF.COM kernel. This option is exercised by
pressing K (for "Kernel"), and then pressing either L or S at the
prompt (for "Large" or "Small"). "Small" is the initial default
setting. This setting is updated to the current option any time the
.CFG file is saved.
There is a trade-off here. The large kernel option ties up more RAM
that could be used by the child if it is a humongous program, but the
return to the CMFiler environment after it finishes is instantaneous. The
small kernel option is good for freeing the maximum amount of RAM for
the child, but there is a small delay in returning to CMFiler while the
resident kernel reloads the overlay. With today's hard drives, this
delay is hardly noticeable. You be the judge. The best thing is that
you can decide before each launch, if you want, at the cost of only
two keystrokes!
You may "shell" to DOS - that is, execute the DOS command processor
- any time you want from the main screen just by pressing S. A prompt
will tell you to return to CMFiler when you are done by entering the DOS
"exit" command. This is the most elemental child process in CMFiler.
Before talking about how CMFiler launches applications, let's review how
it's done from the DOS command processor. Say you are in the root of
the C drive, and you want to start your PCWrite word processor, which
is named ED.EXE and is in a directory called PCW off the root.
Further, let's say you want ED.EXE to edit a file called USER.LST in a
subdirectory of PCW called DATA. At the C:\> prompt you could type:
What this command tells DOS is: 1) leaving C as the default drive
and the root \ as the current directory, go to directory \PCW, find
and execute ED.EXE, and pass the string "C:\PCW\DATA\USER.LST" along
to it as a "command tail", so it knows what you want it to do. (The
"command tail" is nothing more than everything in the DOS command line
after the program specification (in this case PCW\ED.EXE).)
If you have typed a lot of DOS command lines, you know how
tedious they can become, particularly if there is more than one
parameter in the command tail after the program specification. But you
know that most of the time, the one or more parameters in the command
tail are filenames or file specifications (filenames with full path
specifications in front of them), and sometimes there are parameters
the program will use to configure what it does - command line options.
The ensuing discussion may be simpler if you think about each step
in launching an application from CMFiler as having to do with constructing
either the program specification (the first argument in the command
line, which tells DOS what program to run), or the command tail (which
tells the program what to do once it's running).
You can run any "executable" (.COM, .EXE, .BAT or .BTM) file from
CMFiler, as a child program, anytime you want, from the main screen. There
are several ways to do it:
This is the quickest way. Just position the cursor on an executable
file entry on the screen and press Q (for "Quick execute"), or hit
Enter twice, or the mouse left button twice with the arrow symbol
highlighted on the mouse bar. This is ideal if the program is located
in the same directory as any files it might look for, and it does not
need a command tail to tell it what files to operate on or what
optional switches to set. This is just like typing in the name of the
program at the DOS command line, once you are selected to the
directory containing the program.
However, as discussed above many programs expect data in the command
tail, such as the name of a file to operate on, and CMFiler has provided
several ways of constructing the DOS command line.
The simplest is this: First, position the cursor on the file you
want to execute and press X (for "eXecute"). This constructs the
"program specification" for the DOS command line. A prompt message
will tell you this file is ready for execution, its path and name put
into a special buffer in RAM, lined up and waiting for the launch
command from you to commence execution as soon as you select a
"default path" -- the current drive and directory the program will be
looking on for its files. Select the default path in either panel,
and, with that panel set as the source panel, press Alt-X. A data
entry window opens at the bottom, in which you may enter a command
tail for the program's use. Enter any file names or other command tail
data your application expects, and hit Enter to run.
The simplest case of the command tail is a single file name. CMFiler
offers a shorthand way of running a program with a one-filename
argument as the command tail. Put the cursor on the name of the
program file you want to run and press X as before. The program is
ready to run. Now find the directory containing the file you want this
program to operate on, put the cursor on the filename, and press Ctrl-
X. It's off and running, editing (or whatever other operation it's
doing on) that file. Two keystrokes. Ctrl-X means "add the name of the
file at the cursor to the command tail and execute immediately."
It is a good idea to have the program file and its supporting files
in the same directory as the "operand" files when you use this method
of execution, unless the program is smart enough to locate its
supporting files in another directory in the DOS path environment.
In some cases, the above quick way to specify a one-filename command
tail is not enough. You may find a need to put into the command tail
the names of several files on the default path, or the full
specifications of several files not on the default path, or both.
In CMFiler, there are shorthand ways of "seeding" the command tail window
with file specifications and filenames. These may be used either
before or after readying the program file for eXecution with X.
o To seed the command tail with the full specification (path
plus name) of a file on which you want the program to operate, put the
cursor on the filename and press Alt-C (the C in this case is a
mnemonic for "build Command tail"). The information window at the
bottom will show you the command tail in its current state. This
procedure may be repeated to build a command tail as long as there is
room in the command tail buffer. The command tail is limited by DOS to
125 characters.
o Just before pressing Alt-X to show the command tail window
for final pre-launch editing, you may normal-Tag or Alt-Tag one of
more files in the default path. These file names, without paths
specifications, will all appear in the command tail in the order they
were Alt-Tagged or in the order listed on the screen if normal-Tagged.
Now press Alt-X to open the data window with the seeded command
tail. Once you have edited the command tail the way you want it, hit
Enter, and the program is off and running. After the launched program
finishes and returns control to CMFiler, its file specification stays in
the "execute queue" until you ready another executable file with X, so
you may perform multiple runs of the same program just by seeding the
command tail again as above, and pressing Alt-X again. As a further
time-saving feature, you may recall the previous command tail by
pressing the up arrow or PgUp while in the command tail edit window at
the bottom of the screen.
Once you get used to the above conventions, you will find that in
many situations you don't need to edit the seeded command tail, and
the key sequence Alt-X-Enter seems cumbersome. For those cases I have
included the option Shift-X. Use it after you have seeded the command
tail using Alt-C and/or T/Alt-T, and avoid the extra Enter stroke. Its
effect is to commence execution of the program with the as-seeded
command tail, with no edit.
You probably noticed that there was always a space between multiple
entries in the seeded command tails created using the Alt-C and T/Alt-
T seeding operators by the procedures above. But what if your
application looks for commas as the field delimiters for data in the
command tail, instead of blanks? Just press Ctrl-Enter from the main
screen to pick from three choices for default command tail field
delimiters - space, comma, and semicolon.
Got a few pet applications that you run more than most? Save the
aggravation of hunting them down and pressing Q or one of the X key
sequences each time you run them. You can call them with just a touch
of one of the function keys F1 through F9! To set this up, press
Shift-F10. You will see a data entry screen that lets you specify up
to nine executable file names in the entries "F1 = ", "F2 = ", etc.,
and an optional default command line parameters entry for each,
labelled "F1 Cmd Line Parms = ", etc. Further down the page, you will
see places for similar entries for compression and extraction
utilities, and a bottom entry labelled "Password = ". (You may use
this last entry to specify a password which must be entered to get
back to the main screen from the screen-saver mode - a handy way of
blocking undesired access to your files.)
In any "Fn = " data window, just type in the filename, including
extension, of an executable file you use frequently. Optionally, in
the "Fn Cmd Line Parms =" line, type any frequently used command line
parameters that you would like to show up as a default entry in the
command tail construction. You do not need to include the path in the
file specification if the file is on one of the paths listed in the
DOS path environment (via a previous "path" command from the DOS
system level) - CMFiler will hunt it down and update its internal record of
where that file is, so it doesn't have to hunt the next time you call
it. However, if you do include a path specification, be sure it is
complete (e.g., "C:\LETTERS\ED.EXE").
Once you have made all the entries you wish, press Ctrl-Enter to
record the new entries and leave the F-key data entry screen. (Esc
will abort the edit.) CMFiler will then find and update the CF.CFG
configuration data file to add the customized F-key information.
There are three ways to now use these F-key options:
o Press the F-key corresponding to an application you specified
with the Shift-F10 operation. (This may be done from either the main
screen or the F-key information screen shown by pressing just F10.)
You will get the message at the bottom that that file is readied for
execution, just as though you had hunted it down, put the cursor on
it, and pressed X. Seed the command tail and set up the default path
desired in the source panel as before, and press Alt-X to get the
command tail entry window, also as before. This time, though, if you
had specified default command line parameters for this F-key, they
would appear in the command tail window, in front of any seeded
entries. Edit the command tail if desired, and press Enter to start
execution.
o A nearly equivalent method is to seed the command tail
first, set-up the default path, and press Alt-F-Key to ready the
program and show the command tail for editing.
o If you know the command tail will be the way you want it,
and you are bugged by the extra Enter keystroke to accept the seeded
command tail, seed the command tail with Alt-C if you want, set up the
source panel to the default directory, Tag/Alt-Tag any files from this
directory you want to appear in the command tail, and hit Shift-F-key.
The program will run immediately with the seeded command tail, with
the default F-key command line parameters between the Alt-C seeds and
the T/Alt-T seeds.
o If you are just operating on one file, put the cursor on the
name of that file and press a Ctrl-F-key for instant one-key
execution. In this case, the F-key default command tail offering will
appear in the command tail preceding the name of the file the cursor
was on. (This is the feature I use most.)
There is, in fact, a rule as to where the F-key default command line
parameters get placed during the construction of the command tail.
They are inserted at the point that the F-key itself (or F-key
modified by Shift- or Ctrl-) is pressed. The file names Tagged/Alt-
Tagged in the current directory always appear last. In an exotic
case, for example, you could: (1) Alt-C a file spec, (2) press F1, (3)
Alt-T a file name, and press Shift-X to execute with no edit of the
command tail. The program assigned to the F1 key would run, with a
command tail consisting of the file spec Alt-C'd in (1), plus the F1
default command line parameters, plus the file name Alt-T'd in (3),
all separated by the command tail delimiter character last selected
from the main screen with Ctrl-Enter.
The business above may seem cumbersome, but if you spend a lot of
time typing the same old things in at the DOS command processor
prompt, you will find it is worth the investment of time to figure out
and use.
At the very bottom of the Shift-F10 screen you see a data line for
password. You may enter any combination of alphanumeric characters up
to six letters. This password must be given to restore access to CF
from screen saver mode. The password routine is case insensitive.
Phil Katz' PKZIP.EXE and PKUNZIP.EXE (c) have become dominant file
compression and decompression programs in the shareware market, so
much so that I wrote a special explicit feature to employ them with
just a few keystrokes. The commands which invoke these programs from
the main menu are Z and U, respectively. CMFiler can find these programs as
long as you have not renamed them from PKZIP.EXE and PKUNZIP.EXE, and
they are on one of the paths that you specified in a DOS path
environment. If for some reason you want to rename them or put them on
a path not listed in the DOS path environment, you may specify them
explicitly via the Shift-F10 data screen.
1. Decide where you want the compressed file to go, and select that
path in one of the panels. If you are updating an existing .ZIP file,
Tag or Alt-Tag it while you are there.
2. Now switch to the other panel, and select the path to the files
you want to compress. Tag them, or Alt-Tag them in the order in which
you want PKZIP to compress them if order is important to you. If none
are tagged, CMFiler assumes you want them all to be ZIPped, and puts the
command line argument *.* in place of a file list.
3. Now then press Z. CMFiler will show you a command tail at the bottom
of the screen, in the PKZIP syntax (options first, then .ZIP file,
then list of files to be ZIPped.) Since the files to be ZIPped are in
the current source path as set up by CMFiler when you Alt-Tagged them, no
explicit path is included for them. You may edit the command tail.
Once you are satisfied with the command tail, press Enter.
[In step 2 above, if you do not Tag or Alt-Tag any files for
compression in the source path, CMFiler assumes you want to ZIP them all,
and places "*.*" in the file list argument of the PKZIP command tail.]
[In step 1 above, if you do not Tag or Alt-Tag a target .ZIP file,
CMFiler assigns a default compressed file name for PKZIP to create, which
is either:
(1) the first Tagged or Alt-Tagged file in the source path from step
2, or;
(2) if no source files are Tagged or Alt-Tagged in step 2, the name
of the file the cursor is on. (PKZIP attaches the default .ZIP
extension).]
[In step 3 above, if you know you don't have to edit the command
tail, you can bypass the extra Enter keystroke to enter the command
tail by pressing Shift-Z instead of Z.]
1. Set up one panel with the target path for the UNZIPped files.
2. Switch to the other panel, select the path with the .ZIP file to
be UNZIPped, and put the cursor on it.
3. Press U, edit the command tail if necessary, and press Enter. As
with ZIPping above, if you know you don't have to edit the command
tail, press Shift-U instead.
The PKZIP/UNZIP utilities are available from most bulletin boards,
or may be had for a $47 registration fee from PKWARE, Inc., 9025 N.
Deerwood Drive, Brown Deer, WI 53223 (BBS 414-354-8670).
If for some reason you want to specify an explicit path to
PKZIP/PKUNZIP, you may include an explicit file specification using
the Shift-F10 feature. Just follow the procedure and precautions under
"Customizing Your Executable File Specifications" above, and operate
on the " Compress = " and "Extract = " fields.
If you are familiar with Phil Katz' option switch syntax and find
yourself using one or more switches most of the time, you may enter
standard options in the indicated fields ("Compress Options =" ,
"Extract Options = ") while you are at it.
Once you are comfortable using the ZIP/UNZIP feature of CMFiler, and you
find you are not having to edit the ZIP/UNZIP command tail most times,
you may start getting bugged about having to always hit Enter when you
see the command tail displayed. There is an alternative! Just like
with the tailored F-keys, hit Shift-Z/U for instant ZIPping/UNZIPping.
As it happens, some other compression utilities use the same command
line construction as the PKWare utilities. Specifically, the ARJ
utility by Jung and the LHA utility by Yoshizaki use command lines of
the form:
where archiver is program spec, options is the collection of commands
and switches to accomplish the desired operation, archivefile is the
spec to the file which will contain the compressed data, and file1,
file2, etc., are the specs of files to be compressed.
The CMFiler ZIP/UNZIP facility may be used to accomplish compression and
extraction with either ARJ or LHA, and perhaps others as well. Here is
how to do it with ARJ as an example:
o Make sure the file ARJ.EXE is on one of the paths specified in
your DOS path environment, so that CMFiler can find it.
o In CMFiler, press Shift-F10 to bring up the user-defined applications
screen for editing, and down-arrow to the line "Compress = ". Type in
ARJ.EXE. Do the same for the line "Extract = ", since for this
utility, unlike the PKWare set, the same program does both tasks.
o For the most rudimentary compression and extraction options with
ARJ, the only parameter required for the "Compress Options = " line is
the letter a, and for the "Extract Options = " line, the letter x.
These parameters tell ARJ whether to add (a) or extract (x). Type them
in, and press Ctrl-Enter to save the new data.
Compressing and extracting now work just the same as previously
described for the PKWare utilities. To compress, optionally Tag or
Alt-Tag the archive file in one panel, go to the other panel, find the
directory with the files to be compressed (the same path is
permitted) and Tag or Alt-Tag them, edit the command tail if necessary
and press Enter. To extract, set up one panel with the destination
path for the extracted file (may be the same as the source), arrow
across to the other panel, put the cursor on the file to be extracted
and press U. Edit the command tail and press Enter.
The data entry window defined by the " > < " pair you encounter for
input data responds to most of the usual line-editing key presses:
o The Insert key toggles between Typeover and Insert mode. The
mode indicated as an "i" or "t" in front of the " > " , stays set for each
subsequent entry. In Typeover mode, any default entry is cleared if
the first keystroke is an alphanumeric character.
o Ctrl-Lf/Rt Arrow and Tab/Shift-Tab go right or left to the space
following the next blank or punctuation mark.
o Home goes to the beginning of the field. End goes to the first
blank following the last non-blank character.
o Lf/Rt Arr, Bksp and Del perform the usual functions.
o Alt-Keypad permits entry of any ASCII code as a decimal number.
Hold down the Alt-key while you type in a number from 1 to 255 on the
numeric keypad. When you lift the Alt-key, the IBM symbol for that
ASCII code will appear in the window, and the cursor will advance a
space.
o Ctrl-D deletes to the end of the line.
o Esc cancels the operation.
o Down Arrow is equivalent to Enter. In some cases, Up Arrow
moves up a line. (The rename facility in the main module and the
"replace string" facility in the editor use this keystroke to move up
to the entry above.)
For entering file names and subdirectories, all letter keys are
registered as upper case, regardless of Caps Lock or Shift-key
positions, just for the sake of uniformity and ease of alphabetizing.
For command lines parameters, which may be case-sensitive, both cases
are enabled.
Floppy diskettes may be formatted without leaving CMFiler. The command is
Shift-M (forMat). Double- and high-density 3.5" and 5.25" formats are
recognized. If an existing format is detected, CMFiler requests
confirmation to proceed. Diskettes cannot be "unformatted" after this
command is used, so be certain the disk contains no valuable files
before using. All data sector are overwritten with the format "fill"
character hex F6, so, unlike the FORMAT.COM of MS-DOS 5 and later, the
CMFiler formatter is good for obliterating sensitive data.
This formatter is also called during operation of the floppy filler,
if needed, so unformatted diskettes may be used for filling. If the
formatter encounters a bad sector on the diskette, it will alert you,
and will not complete the formatting. You should simply discard this
diskette. (Other formatters mark bad sectors in the FAT table and
complete the formatting. NoVaSoft's philosophy is that, with the high
quality and low cost of diskettes on the market today, defective media
is such a rarity that, when a bad sector is encountered, the diskette
should just be discarded as a cheap safety measure.)
The formatting routine also places a "boot-through" code on the
floppy boot sector. If you boot your computer with a CMFiler-formatted
diskette in the boot preference floppy drive, this boot routine will
first check its own integrity, as a rudimentary test of whether it has
been infected with a boot sector virus, and then load and transfer
boot control to the C drive if it is present.
A built-in diskette copier is accessible with the command Shift-K (
for disKopy). Double- and high-density 5.25" and 3.5" floppies are
recognized. You specify hard drive to store master disketter image on,
drive to make copies on, number of copies to make and whether each
track should be verified as it is written. Number of copies left to go
in the batch is displayed after each successful copy.
If disKopy encounters a bad sector while formatting or writing the
copy, it will alert you that the diskette is bad, and not complete the
copy. As discussed above, you should simply discard this diskette.
The disKopy facility allows a diskette image to be saved as a file
on your hard disk for reuse. After the diskette is read, CMFiler asks if
you wich to save it on the designated hard drive. If you answer Y, you
will be asked to provide a file specification for the saved file. You
may enter a full file spec with path, or put the file on the current
directory selected on the hard drive by typing in just a file name.
The saved image file may be used to create more diskettes. When you
press Shift-K, CMFiler first asks if you want to use an image file to
create the diskette copy. If you answer Y, CMFiler seeds the entry line
with the name of file that the cursor is on. This gives you a handy
way of reusing a diskette image file: just put the cursor on the name
of the image file, press Shift-K, then Y, then Enter to accept the
seeded file name.
You can look at the absolute contents of a diskette with the scan
facility, Shift-A (for scAn). Apparently empty diskettes may contain
all sorts of interesting information, because the DOS file delete does
not obliterate the data, just reallocates the clusters via the File
Allocation Table.
In addition to the two-line mini-help area at the bottom of the
screen, a help facility may be summoned on-line at any time in the
main module of CMFiler by pressing H or F1. Arrow or PgUp and PgDn through
the help screens, or press the first letter of the keyword you are
looking up. For example, to move instantly to the page with
information on tagging, press T. Esc exits back to the main screen.
The help screen is accessible in the editor and tree module with Alt=H or F1
When it is first run, CMFiler creates a configuration file called CMFILER.CFG.
If you rename CMFILER.COM and CMFILER.OVY to CF.COM and CF.OVY, you must
rename the configuration file to CF.CFG -- which is the way we will refer
to it in this section.
CMFiler will normally look in the directory from which CF.COM was run for
CF.CFG. If no file is found, it will create CF.CFG. This is the default
situation.
You can specify a different directory for the CF.CFG file
by means of a "set" commmand in your AUTOEXEC.BAT. For example:
will cause CMFiler to look for CF.CFG in the directory C:\SETTINGS instead
of the default.
Many program settings are stored in the configuration file, such as the
color palette and current selection, screen mode, parameters of the
editor module, typeover or insert mode of the data entry window, and
so forth. The selection of path alaises and the program launcher
selections are in CF.CFG.
There is also a set of thirteen user options which can be set with
the Shift-O Options menu discussed below.
You can save the configuration any time by pressing Shift-S (for Save
CF.CFG). The configuration is also automatically saved any time you
edit the Ctrl-P color palette or when you exit the Shift-F10 launcher menu with
the save option. It is also saved when you quit CMFiler with the key combination
Esc-S.
Different users on a network using a common copy of the CMFiler program
files may specify their own .CFG file through an environment parameter
CF-CFG. For example, if your configuration file is MY.CFG in the path
U:\SETTINGS, include a DOS set command SET CF-CFG=U:\SETTINGS\MY.CFG
in the batch file that runs CMFiler for you.
There are thirteen setup options which you may use to tailor the look and
function of CMFiler using the Shift-O users Options menu.
When you visit this menu
and then leave by pressing Enter, the configuration file CF.CFG is
updated so that these switches settings are remembered the next time
you run CMFiler. The nature of these thirteen switches is such that you
probably will not change them often. They represent your preferences
as to a standard configuration of features.
When you press Shift-O, you will see the following menu:
These thirteen "switches" represent setup features that various
users have asked for. The default settings are as shown for the first
ten. Any switch may be toggled between Y and N by putting the cursor
on it using the Up/Dn Arr keys, and pressing the spacebar or the
letter N or Y. When you have reconfigured the way you wish, press
Enter. Esc exits with no changes. Here is an explanation of each
feature:
1. In keeping with the convention most often used by other
programs, the F1 key is assigned as a "Help" call in the editor and
tree modules, and this is the default setting for the main module.
2. For those who do not wish to use the "soft" delete feature nor
be bothered with the ~TRASH~ directory, the D key may be reconfigured
to "HARD Delete", identical to Ctrl-D, by resetting this switch to Y.
3. Setting this switch causes all files to be "wiped" (their data
overwritten with "cfcfcf . . . ") before deleted with the DOS file
delete service, to ensure complete destruction of files.
4. In the default setting, CMFiler does not waste time during file copy
operations overcopying any file in the target path that is reported by
DOS to be the same date/time and size as a tagged file in the source
path. However, sometimes you might want to mass-overwrite files on a
backup directory or disk that are suspect, even though they may appear
to be identical. Just set the overcopy switch to Y.
5. For Windows users, if you run CMFiler in a window, it does not have
any way of knowing when it returns from the background to the
foreground whether any other application has written to the
directories that it is selected to. In the default setting, it does
not refresh the file listing (reread the directory tables). Windows
users may want to reset this switch to Y.
6. and 7. The DESCRIPT.ION file, created in each directory as
necessary to contain file and sub-directory notes, may be assigned the
Hidden and / or Read-Only file attributes for neatness of directory
display and / or protection from inadvertent deletion. The default
values are No.
8. Unless you turn it off, CMFiler will always update the DESCRIPT.ION
file when a file with a note is copied into the directory, deleted
from the directory, or removed.
9. The automatic Screen Saver may be turned off with this switch,
if you have a favorite resident screen saver installed.
10. European users will want to see dates in the form dd-mm-yy in
all of CMFiler's displays, and will want to toggle this switch to Y.
11. Certain LCD displays invert the action of the high-intensity
color bit. If the display is all high-intensity except for the line
the cursor is on, try changing the switch to Y.
12. The color attribute set may be changed by pressing C, V, M, T,
E or L. If, for example, your system has a color card driving a green-
screen monochrome monitor, you probably would be more satisfied with
the monochrome color set invoked by M than the default color set C.
13. If you have an EGA or VGA monitor, 43-line and/or 50-line
display mode is probably accessible to CMFiler. You may set this
variable to 4 or 5.
There are other features of CMFiler, particularly in the display options,
which you may reset lots of times in process, but which don't need to
be recorded permanently each time you change one. For example, I leave
the file ordering scheme set at the default value of "1" (straight
alphabetical), but sometimes I want to look at files in the order I
last modified them. I will temporarily reorder using the Ctrl-O
command, but I still want CMFiler to come up with ordering scheme "1" next
time I run it.
These values are savable. The other in-process option features that
are savable are the Compare and Hide mode switches, the resident
Kernel size, and the system date/time display on or off. They are
saved 1) whenever the Shift-O setup Option menu is exited with Enter,
2) whenever the Shift-F10 user-defined application menu (discussed in
Chapter 4) is exited with Ctrl-Enter, or 3) by pressing Shift-S (Save
options).
There are two commands for exiting CMFiler: Esc followed by another key,
and Alt-Q. The Esc-other key combination reestablishes the default
drive and its current directory as CMFiler found them. The Alt-Q
combination leaves the default drive and its current directory as it
appears in the source panel. In either case, if you were printing a
file, you will be asked if you really want to quit, since the print
spooler does not stay resident and quitting will terminate file
printing. You may answer N.
On CGA/EGA/VGA monitors, the record delimiter appears as a single
colored "blank" character at the end of the line, whether it is
actually two characters (e.g., CR+LF) or one (e.g., LF). It may be
deleted to join two lines, but not over-struck - it always pushes
right, even when you are in typeover mode. The red "End-of-File" (EOF)
marker is not actually part of your file, but rather is only a visual
aid for you to see where the text ends. When the cursor is on the EOF
marker, the "byte number" in the legend corresponds to the number of
the next character, if you were to type one. The EOF marker also
always pushes right, and cannot be deleted. The height of the cursor
shows the status of the "Caps Lock" switch.
The default color display mode for "record delimiters" [carriage
return (CR), line feed (LF), and the combinations CR+LF and LF+CR] is
to show their color values, which are cued in the legend at the bottom
(blue=CR, green=LF, cyan=CR+LF, magenta=LF+CR). In addition, the end
of the file is denoted with a red End-of-File (EOF) mark. Sometimes it
is very useful to know exactly what delimiter combination your word
processors use, so you can duplicate it when you edit with CMFiler. You can
toggle the colored delimiter symbols off and on with Alt-Minus or the
gray minus key. (This is also covered in a help screen you can get by
pressing Alt-H or F1.)
The name of the file being viewed is shown in the lower left prompt
area. The lower right prompt area shows the ASCII value of the
character at the cursor (decimal and hex), the position of that
character in the file (starting with 1), the line (called "record")
the cursor is on, and the position of the cursor within the line
(called "Column", which for a long record is not necessarily the same
as the screen column). This information display may be toggled off
and on with Alt-Plus or the gray plus key.
When the modifier key Alt- or Ctrl- is pressed, this information
area displays the block, navigation and special editing commands
enabled by the modifier key.
The default display mode is line wrapping, where any line longer
than 80 characters is wrapped to the next screen line, so that all
text is visible. This mode can be toggled between "Wrap" and "No
Wrap" (see the Wr/NW at upper right for current status) with Alt-W.
In the NoWrap mode, each line longer than 80 characters simply extends
off the screen to the right, but is accessible for viewing by putting
the cursor on it and [Ctrl- or Shift-] Rt Arrow-ing (see below) to any
place on the line.
The arrow keys, either on the cursor keypad or numeric keypad, move
the cursor one line up or down and one character left or right. Ctrl-
Left/Rt Arrow move left or right one word at a time, and Shift-Left/Rt
Arrow and Home/End move to the beginning or end of the line, as in
PCWrite. A second press of the Home/End key moves to the top/bottom of
the page, and a third press moves to the beginning/end of the file
contents in memory.
PgDn/PgUp moves the display up or down one page frame (20, 38 or 45
lines), and leaves the cursor on the same relative video line. Ctrl-
PgUp/PgDn moves the display by 10 page frames for fast paging through
a file. Shift-Up/Down Arrow moves to the top/bottom of the current
page. Alt-B/E moves to the Beginning/End of the file contents in
memory.
The mouse moves the cursor similar to the arrow keys. A special
mouse feature allows variable speed scrolling as well. Hold the right
button down and move the cursor down a little bit. The file begins to
scroll slowly up the screen. Move the mouse down a little more and the
scroll rate increases, through a total of four speeds. Moving the
mouse up reverses the direction.
For very long files, exceeding available memory, the editor loads
only as much as fits. When you get to the end of that section (i.e.,
the current "file contents in memory" referred to above), the next
operation that asks for another page or line causes the editor to load
in the next section, remembering the file position of the start of the
previous section so it can backtrack if you want. (It actually loads
the next section with some overlap to the previous section, so that a
little bit of backtracking does not result in reloading the whole
previous section.) This "heel-and-toe" sequential loading is limited
to 50 sections.
Look at the small reverse video box in the upper right corner of the
screen. "T/O" or "Ins", then CMFiler is in edit mode. Toggle between
typeover (T/O) and insert (Ins) modes with the Insert key. Typing
action is just like any word processor. In typeover mode, the Bksp
key does not pull the text left. This is to avoid unintentionally
shortening the file when editing length-sensitive files, such as .COM
and .EXE files.
CMFiler permits edit mode only if the file fits all at once into
available memory, has fewer than 16,380 records, and (in NoWrap mode)
has no record longer than 8190 bytes. CMFiler will revert to view mode if
these conditions are not all satisfied. If you have a lot of memory
tied up in resident programs or RAM disk/cache, then you may not be
able to edit extremely large files. Chances are, however, that this
will never be a practical limitation.
You operate on a line at a time, and the "normal" editing keys work
- i.e. Bksp, Del, Tab, Shift-Tab, the unmodified and modified arrow
keys discussed above, and any ASCII-code keys. To create a new line,
just Shift-Arrow to the beginning or end of the current line,
depending on whether you want the new line above or below the current
one, and hit Enter. This inserts the default delimiter combination,
CR+LF, into the text to set up a new line void of text, but ready for
you to start typing. The combination Ctrl-Enter gives you a menu
screen from which you may select a different record delimiter. Join
two lines by deleting the record delimiter at the end of the first
line to be joined. Delete a line with Ctrl-Y ("Yank"). Delete from the
cursor to the end of the line with Ctrl-D. Delete a word and its
associated whitespace with Ctrl-T.
Any ASCII code from 1 through 255 can be entered from the numeric
keypad using the Alt- key modifier. A special combination is provided
for ASCII zero ("NULL"), since Alt-Zero is not recognized by any
keyboard drivers I have seen. It is Alt-N (for "Null").
Pressing Ctrl-U/L/I on a letter forces it into upper or lower case,
or inverts the case.
All the block operations - there are six - are keyed to Alt-key
combinations, and they are all intuitive (sort of). They are: Alt-{
Mark, Yank (delete), moVe, Copy, Print and Output }.
You may also manipulate blocks of lines. First mark a block by
putting the cursor on the first (or last) line of the block you want
to do something with, press Alt-M (for "Mark"), move down (or up) with
arrows, PgDn/Up, etc., and mark the last (or first) line of the block,
again with Alt-M. The marked text is written into a dedicated internal
copy buffer for later use. If you made a mistake, a third press of
Alt-M clears the marks, but leaves the copy buffer intact. The
contents of this copy buffer remain available for multiple use until a
new block is marked. You may exit the editor back to the main module,
and edit another file, and because the editor copy buffer is a
dedicated chunk of RAM in the main and editor modules, the buffer is
still intact. Just copy it into the next file with Alt-C.
When you are marking a block, note that the information box at the
bottom left of the screen expands to show you the attributes of the
marked block - the number of the first and last records marked, and
the number of bytes in the painted area. There is an arbitrary 32 KB
limit on the copy buffer. The upper right-hand information box shows
"Blk" (for "blocked") instead of "T/O" or "Ins", meaning that normal
editing is not permitted while you have a block marked.
Delete the block with Alt-Y ("Yank"). Or put the cursor in an
unpainted area of the file, and copy the block into that area, just
ahead of the line where you put the cursor, by pressing Alt-C
("Copy"). Or move it with Alt-V ("moVe"). As noted above, the block
previously "marked" into the copy buffer is available for multiple
use. Just put the cursor where you want the block to be copied and
hit Alt-C again.
If you just deleted a block in error, put the cursor where you want
to restore it, and press Alt-C to copy the buffer back into the file.
Print the copy buffer to the parallel printer with Alt-P ("Print").
After printing, if you want a form feed, press Ctrl-F ("Form feed" -
note the use of Ctrl- vice Alt- as the modifier key, since Alt-F was
already used for "Find").
Finally, output the copy buffer to a file in the same path as the
file being edited by pressing Alt-O (letter "O" for "Output"). A
window opens at the bottom for typing the name of the file for CMFiler to
create (if it doesn't already exist) or append to if it does. (The
file will be created or opened in the current directory on the default
drive. Therefore the characters ":" and "\" will not be recognized.)
Want to look for a particular word or string of characters? The key
combination Alt-F (for "Find") opens up a data window at the bottom
for you to enter a short string. The data window is seeded with the
word the cursor is on. The previous entry can be recalled with the
UpArrow. After you press Enter, CMFiler will find the first appearance of
the string from the current cursor position, and put the cursor on it.
Alt-X (for "neXt") finds the next appearance, and can be used
repeatedly until the string no longer appears, which is signalled at
the bottom of the screen. The search process starts at the cursor
location and goes, if necessary, to the end of the current file
contents in memory.
If the file is long and is being viewed by the editor module in
sections as discussed above, only the current section in memory is
available to the Find operator. The search is case-insensitive.
If the cursor is placed on a word that you want to find the next
appearance of, a quick search mode is available by pressing Ctrl-G. CMFiler
locates the next appearance of that word (all the text between "white
spaces"), even if it has to recycle to the beginning of the file.
The data entry routine truncates leading and trailing blanks, but
blanks may be included as leading or trailing characters by enclosing
the string at either or both ends with quotes (") Suppose, for
example, you wanted to find all of the appearances in a file of the
word "mark", but not "remark". Press Alt-F and, in the data entry
window enter: Find string: > " mark < . This works for
the replace string as well.
In addition to the Alt-F "find" feature, there is an Alt-R "replace"
and an Alt-G "global replace" feature. Just press Alt-R or Alt-G and
enter the find and replace strings when prompted. (If you see a
mistake in the find string while you are typing the replace string,
just arrow back up a line and reedit it.) For Alt-R, CMFiler will find the
first match and ask you to confirm the replacement. It continues
finding and requesting confirmation until you press Q (for "Quit
replacing") or Esc. Alt-X reactivates either the find or replace
routine, whichever was used last. Alt-G replaces all appearances of
the find string with no confirmation. It may be terminated with any
key press. When global replace is thus terminated, Alt-X reactivates
the confirmatory replace, not the global replace.
Ctrl-A pops up a convenient table of ASCII symbols for use in file
editing. Just navigate to the symbol you want with the arrow keys or
mouse, and press Enter to insert the symbol into the text.
After editing is complete, press Esc. When leaving the editor after
editing an existing file, there are several decisions you have to
make: 1) under what name to save the edited file; 2) whether to use
the current date/time or the original date/time of the edited file as
the save-file's date/time stamp; 3) whether to rename the original
file so it is also saved; and 4) whether to return to the editor after
the save operation.
The default selections for these options - the ones most often used
- are: 1) save the edited file under the original file's name; 2) do
not reuse the original date/time stamp; 3) do not rename and save the
original file; and 4) do not return to the editor. You can accept
these default options by pressing Enter, or Y, or if you had hit Esc
by mistake, you can press Esc again to return where you were in the
editor. If the defaults are not acceptable, press N, and CMFiler will take
you through each option.
In the first option, CMFiler offers the original file name as the save-
file name, but you can edit it, including adding a path to have it
saved in a different directory. If you do not want to save the edited
file at all, press Esc.
In the second option, you may press Y to reuse the original
date/time stamp of the file that was edited.
In the third option, CMFiler offers a default name to rename the original
file, replacing the last character of the extension with an
exclamation point. You can edit the name, or press Esc to avoid
renaming the original file.
In the fourth option, you may press Y to return to the editor.
The command Ctrl-S lets you save a file in mid-session while
editing. This is prudent during a long session just to make sure you
don't lose the edit to a power failure. Ctrl-S provides a sequence and
defaults similar to the exit sequence above except that you return to
the editor instead of leaving.
If you entered the tree feature with both panels open, you see that
the source/target panel relationship is preserved, and the paths
displayed at the top and indicated by the cursor highlights in the
tree structure itself are as existed from the main screen. The
structure under the cursor in the source panel, namely the selected
directory and all its files and subdirectories and their files, is
shown as a highlighted block with a bright background, while the
current directory selected in the target structure is shown
highlighted with a reverse video background.
If you entered the tree module with the right-hand panel closed, you
may open it the same way as you would from the main screen - right
arrow, then press a drive letter at the prompt.
Line 1 at the top of the screen gives the status of two display
enhancement switches. The "hide" and "compare" switches are passed
from the main module, and have the same function. When the hide switch
is on (^Hide=Y), subdirectories with the hidden attribute set are
masked (i.e., not displayed). When the compare switch is on (^Comp=Y),
any match in the target panel to the currently selected path in the
source panel will be highlighted in a high-intensity color, similar to
the highlighting of file matches in the main screen. The hide and
compare switches may be toggled using Ctrl-H and Ctrl-C (shown as ^H
and ^C); their states are transmitted back to the main module on
return.
The "Goto" string also appears on the top line when the Goto file or
Goto directory command is given (G or Alt-G). More on that later.
Information about the selected structures is contained in the two
lines at the bottom of the screen. In each panel, there are two pairs
of numbers, one pair for the amount of disk space used by the files in
the structure, a second pair for the number of files in the
structure.The first number in each pair describes the files in the
immediate directory that the cursor is on (think of this as the "root"
of the structure), and the second number in each pair describes the
file ensemble in the entire highlighted structure.
Cursor movement is much the same in the tree display as in the main
screen. Left/right arrows switch panels, up/down arrows move one line
up and down the tree, PgUp/Dn move up and down the tree several lines
at a time, Home/End move to the very top or bottom of the tree, and P
(for "Parent") moves the cursor up to the directory's parent. Two
additional cursor moves are Shift-Up/Dn Arrow, which moves the cursor
up or down one directory in the same level; and Shift-Lf/Rt Arrow,
which moves the cursor directly across to the match if you are in
compare mode and have a path in the target matching the path of the
currently selected structure in the source (same feature as in main
module).
Mouse action is much the same as in the main file services module.
Changing disks or drives (Shift-R or N), renaming subdirectories (R),
setting the hide attribute for a subdirectory (2), and toggling the
hide and compare switches (Ctrl-H and -C) also all work the same as in
the file services module, except that no wild cards are permitted in
the rename function.
In Version 6, the tree module has a feature that captures to a
subdirectory ~TREES~ (which CMFiler creates for this purpose) an image file
of the tree and of its filenames for each drive when that drive is
first accessed. These image files are then available for use as a
quick alternative to rereading the whole drive the next time the tree
module is entered and that drive is selected. The image files load
the tree structure in a fraction of the time it takes to read the
whole drive and construct the directory and file lists. The ~TREES~
directory will be created on the path in the configuration environment
parameter CF-CFG, if one has been specified by a SET command.
Otherwise it will be created on the root of C.
The first time Version 6 is run in tree mode, CMFiler explains three
basic setup options to help the user use this new feature in the best
way. In one option, you can tell CMFiler to ask permission to reread the
drive and refresh the tree image on file after copying a structure
into the drive tree. It is often convenient, if you have several
structures to copy, to wait until the last before rereading the drive
and refreshing the tree image.
The tree image can also be manually updated using Shift-R (Refresh
tree). The tree image option menu can be brought up with Ctrl-O (for
image Options).
The command S, for "Show files", is the way to get a look at the
file names in a subdirectory without leaving the tree environment.
This command opens a window in the target panel showing the first 16
files in the directory at the cursor in the source panel. You may
continue to scroll up are down through the source panel as before, but
now the file window changes as you do to show the contents of the
current directory. You may do any other operations that involve only
the source window, such as toggle the hide mode, make a new directory,
delete a portion of the tree, even get a new drive. Two-panel
operations such as copy and move are blocked in this mode by the
presence of the "Show files" window.
To see more than the first 16 files, arrow across with the left or
right arrow to the file window and scroll up and down using the
up/down arrows, PgUp/PgDn, Home and End, or use the mouse. View or
edit the file with Enter or E, as in the main module. Move between
the tree and its file list with the right or left arrow keys. To
return to the main module and perform an operation on a file in the
file list, press Shift-Enter with the cursor on that filename. CMFiler
immediately returns to the main module, to the directory selected, and
places the cursor on that file, ready for you to edit, view, execute,
copy, etc. Leave the "Show files" mode with Esc or S from either
panel.
The editor is accessible directly from the tree module. In either
the Show files or Goto file mode (discussed below), with the cursor
in the file list
window on a file name, press Enter to view or E to Edit the file.
Another feature in the Show files and Goto file modes that speeds
disk cleanup is individual file deletion while the cursor is in the
file list. The following commands are available, which mimic commands
in the main file services module: Tag (or spacebar) toggles the tag on
an individual file; tagAll clears or sets all tags; D soft Deletes
file(s) to ~TRASH~ (unless the D key was redefined as hard delete in
the main module); and Ctrl-D hard delete file(s) off the disk. This
feature gives you a more macroscopic view of your disk while you are
cleaning it up.
One of the most powerful functions in the tree arsenal is the
filename finder. There are lots of file-finding utilities around, but
most of them tell you where a file is by giving you its path which you
have to type into a DOS "change directory" command. Cumbersome.
CMFiler offers a file finder which gives you an instant visual cue
to the directory(ies) containing the file you are looking for. Simply
press G (for "Goto file", just as in the main module). A data window
opens at the bottom for you to type the name of the file to search on.
It supports the "?" and "*" wildcards. When you type the first
letter, the "Show files" list opens in the opposite panel, and both
the tree display and file list dynamically adjust to show current
matches. Keep typing until the matches have been narrowed down as far
as you need to go, and press Enter or Esc.
Assuming there is at least one file that fits that specification,
note that several things have happened:
o At least one directory name in the tree is highlighted with a
blinking "pip";
o The cursor has automatically repositioned to the topmost
subdirectory containing a filename match; and
o All the file matches are listed in alphabetical order at the top
of the window, and are also highlighted with the same blinking pip.
If you have a long tree structure with subdirectories out of view
off the bottom of the panel, you may not see all of the highlighted
subdirectories containing file matches. If there are some
subdirectories in the tree containing matches but which are off the
screen above or below, a flashing "More" will appear at the top or
bottom in the tree display. The cursor movement in the "Goto file"
mode that lets you quickly position up or down to the next directory
containing a file match is Shift-Up/Down Arrow. Use Shift-Up/Down
Arrow to navigate to all the directories with a match. Otherwise
navigation and services are the same as Show files mode.
If there are matching files out of view above or below the file
window, a flashing "More" will appear at the top or bottom of the file
window frame. Quit "Goto file" mode with Esc, G or Alt-G.
There is also a quick way to navigate to a subdirectory anywhere in
the tree that, like the "Goto file" command, mimics a command in the
main module. It is Alt-G, and it behaves similarly to G above, except
that the file list is not opened in the other panel, and the tree
display is changed dynamically to highlight the directory name matches
and position on the topmost match. Type the name of the directory you
are looking for, and when it has been singled out to your
satisfaction, type Enter or Esc. Matches are also highlighted in the
target tree, if any exist. Shift-Up/Down Arrow to the next match up or
down; otherwise navigation and services are normal. Quit "Goto
directory" mode with Esc, G or Alt-G.
Another powerful operation in CMFiler's tree services, to complement
the filename finder, is a file text finder. Press Shift-F (Find text).
Enter the text to be found (the search is case-insensitive), and then
enter up to eight filenames describing the types of files you want
included in the search, separated by + signs. The pipe symbol (|,
ASCII 124) placed in front of a filename means "do not include this
type". So, for example, the entry:
CMFiler's guess at this point on what part of the disk to search is that
you wanted to look only in the selected portion of the tree - the
structure at and below the cursor. Just to be sure, it asks for
confirmation, and will allow you to extend the search to the whole
disk if you wish.
An option for the text search string is the character "*", which
means "accept any text". This is useful, for example, if you wanted to
see all the files of several different descriptions in the tree, but
didn't want to do each at a time using the filename finder (which only
supports one entry), and didn't care what they contained. Suppose you
want to see all the executable files on your disk. Just press Shift-
F, enter * as the text, and *.COM+*.EXE+*.BAT as the names to search
on.
If you, as I, never previously thought or visualized much about the
structure of the data on your hard disk, and never thought in terms of
moving around big blocks, the conventions about to be described will
take a little getting used to. However, you will come to find these
operations a great convenience.
Select in the target panel a path under which you want to replicate
a substructure from the source panel. Pick a small structure in the
source panel for starters. Now picture the source block that is
highlighted in red (if you're in the default color - in reverse video
if monochrome) appearing under the top subdirectory in the shaded
area of the target panel. Press C. The structure selected in the
source panel is reproduced, subdirectory-by-subdirectory, file-by-
file, under the target path. (One prohibition - CMFiler does not permit
copying a structure onto itself. That is, if you have the same drive
selected in both panels, a structure in the source and its host (the
subdirectory it originates from) in the target, the command C will be
ignored.)
This copy operation is good for backing up major structures hard
disk-to-hard disk or hard disk-to-floppy. Once a backup structure
exists on another medium, you may keep it up to date the same way.
Just remember to set the path in the target panel to the host
directory of the structure you are backing up. Updating is possible
because the file copying and protection convention used in the tree
module is the same as that employed in the main program of CMFiler. Namely:
o Files encountered in the target structure with the same date/time
stamp and size are presumed identical, and not rewritten, unless the
"file overcopy" switch is on. As with the "hide" and "compare"
switches, the current state of the "overcopy" switch is passed from
the main to the tree module.
o Files of the same name encountered in the target that are newer
than the source, or that are read-only and the source is not, or that
are system files, require confirmation to be overwritten.
o Files of zero length in the source structure are not allowed to
overwrite files in the target. Non-zero-length files in the source
structure always overwrite zero-length files in the target of the same
name.
Copying in progress may be terminated using Esc. Any errors during
file copying cause a pause in the tree copy operation, and the user
must confirm continuing.
The copy function tries to anticipate the disk space required in the
target for the structure being copied, and will proceed without delay
if it finds there is enough free space on the target disk to assure
the completeness of the copy. It does not attempt to check the target
path for possible file duplications with the source block and take for
credit as "available space" the space occupied by files which will be
overwritten. If it senses not enough space to cleanly copy the whole
structure, it will alert you to the possibility of an incomplete copy,
and ask for confirmation to proceed anyway. Then, as the copy
operation proceeds, it checks disk free space before each file is
copied. If there is insufficient space for that file, it tells you so,
and asks whether you want to try copying the next file. The answer "N"
terminates the whole operation.
When backing up structures on your hard disk using the tree
structure copy function, if the backup floppy is at all tightly
packed, you will get this advisory message. If you know there is a lot
of file duplication between the source structure and the backup
floppy, you may proceed with the copy operation with confidence that
all the files will be properly updated.
A final word on the copy function, and the move function discussed
below. The original cursor position in the target panel, which
specified the target path for the operation, is reset after the copy
or move operation to show the top line of the new structure just
created or moved, so that you can see that the copy or move actually
took place and check using the information at the bottom of the screen
that all the files were reproduced or moved. However, on the next
keystroke, the target path is reset again to its original position.
As seen above, the copy function replicates, as a structure under
the target directory, the source block. The structure has the same
"name" in both cases, meaning that the top line of the block in the
source panel is the same as the top line of the replicated structure
in the target panel. Another way to view this is that the subdirectory
which serves as the "root" of both structures has the same name.
While this seems a convenient way to copy structures between two
large mass storage devices, as it forces a uniform convention on the
naming and construction of the structures themselves, it may not
always be the most convenient way to backup structures from a large
mass storage device to a smaller one. This sounds very cryptic, so let
me try an example. Suppose one of the major structures in your hard
disk is a directory under the root, containing all your files
pertaining to your word processor. Let's call this directory WORDS. In
it are all the program support files (the editor, the printer, the
configuration files, etc.), and two subdirectories, NOTES and LETTERS.
If you were to copy the structure with WORDS as its "root" to a virgin
floppy, the screen would end up looking like this:
But suppose you plan to dedicate this floppy exclusively to the
backing up of the files in the WORDS structure, and so you really
wanted to put the word processor program and its support files into
the root directory of the disk in A:, and have the LETTERS and NOTES
be directories of the root, not of a directory WORD. That is, you want
not to create the unnecessary layer of a directory called WORDS, but
you want the A: disk tree to look like this:
This is where the command "Copy Into" does the job. Just press the
letter I instead of C, and the contents of the structure in the source
panel block are copied Into the target directory, instead of being
replicated as a new, complete substructure. Because of the subtle
difference between the commands C and I, a confirmatory message is
displayed on the screen when you use the copy Into command.
In much the same way, structures may be moved within the same disk
with the commands Shift-C (which moves the structure to under the
target directory, similar to Copy) and Shift-I (which moves the
structure into the target, like Copy INTO). The condition for moving
is that the target path is not currently the host of the structure
selected in the source panel. When the move is within the same disk,
it is accomplished using the DOS rename service, and no copying of
any file data itself is performed, just modifications to the directory
tables, and so this is a quick way of doing major reorganizations of
your hard disk.
"Move" (Shift-C) and "move into" (Shift-I) default to straight
"Copy" and "copy Into" if different disks are selected in the source
and target panels, followed by confirmation to hard delete the source
structure. Moving may be terminated with Esc.
The command J (for copy Just files) works somewhat like the copy
Into command, but copies just the files in the source subdirectory
into the target path, and not the subdirectories and their files and
subdirectories, etc.
The command Alt-C is similar to C, but copies just the skeleton of
the structure, the directory array and no files, under the target
path. Alt-I, similar to I, copies just the directory structure Into
the target path.
This is the scariest of all the tree functions, because a couple of
false keys and a fast hard disk and you're destroying files real fast.
For this reason, I have added a second confirmation step which warns
you how many files are about to be destroyed before it starts, and,
for hard disks, have used the same "soft" delete convention for the
operator D as discussed in Chapter 1 on the delete function in the
main module. (If the structure selected consists entirely of empty
subdirectories, CMFiler doesn't bother asking for the second confirmation,
since directories are a whole lot easier to re-create than files.)
Thus, when file destruction is involved, three keystrokes are required
to delete a structure - D, Y, and Y - and, for a hard disk, the files
deleted will reappear in the ~TRASH~ directory. As in the main module,
the alternative "hard" delete function is Ctrl-D.
Esc terminates tree deletion in progress. CMFiler deletes all the files
in each subdirectory shown in the tree structure - hidden and read-
only, as well as normal.
The move and delete operations use a routine to remove the (assumed
empty) tree structure in the cursor block in the source panel after
all the files have been moved or deleted. If there is a hidden
subdirectory in this structure, and the hide switch is set to "Y",
however, it will not be seen by the file moving or file deleting
routines, as well as the directory removal routine, and a strange-
looking error message will be returned, namely "Access denied" during
directory removal. This is classic DOSese, at least most of the time,
for "there is something still in there." Toggle the hide switch with
Ctrl-H and reexamine the remnants of the structure you tried to
delete.
To save you time, CMFiler does not reread the tree from the disk after a
piece has been deleted, but rather marks the image it made in memory
of the tree structure to note the part has been deleted and should not
be used in drawing the tree. As a consequence, the statistics - files
and KB used by the directories above the deleted portion -- will not
be accurate. After several deletes, you can refresh the tree data
from disk with Shift-R (Relist).
The companion delete operation to the "copy Just files" command is
Alt-D - delete just the files in the source subdirectory. This is a
"hard" delete.
Except in the Goto file and Find text modes, the command Alt-L (same
syntax as in the main module) prints a copy of the tree structure to
the parallel printer. In Goto file or Find text mode, however, Alt-L
prints an alphabetical listing, organized by directory, of all the
files identified by the preceding search. The date, time, disk volume
and search parameters are all printed at the top of listing.
There are three ways to leave the tree display. Enter goes back to
the main program display, with the path(s) for the left (and right, if
open) panel(s) as selected on the respective trees. Esc goes back to
the main program with the path(s) set as they were on entry. And
finally, Alt-Q has the same convention as in the main program - quit
CMFiler altogether, with default drive and current directory as selected in
the tree source panel.
Directory Attribute:
Jump to Any Path:
Defining an Alias Path:
Jumping to an Alias Path:
File Attributes:
Tagging Files:
Copy Files:
o If a file by the same name but newer date/time is found on the
target, CMFiler will ask you specifically to verify that you really do want
the newer file overwritten.
o If the source and target files have the same date/time but the
source is a different size, CMFiler will ask for overwrite confirmation.
If the source file has length 0 bytes, it will never overwrite a non-
zero-length target. Zero-length target files will always be
overwritten by non-zero-length source files of the same name,
regardless of age. These features provide some protection against
overwriting good files with ones which have become corrupted by
previous copy errors.
o If a file by the same name but with the read-only attribute set
is found on the target, CMFiler will ask you to verify that you want it
overwritten. (Likewise if the target file is hidden and the hide
switch is on.)
Appending (Concatenating) Files:
Backing Files Up in Same Directory:
Copy with Rename:
Moving Files:
The Floppy Filler:
The File Freshener:
Deleting Files:
Precaution Regarding ~TRASH~:
Splitting a File into Same-Length Files:
Splitting a File at Arbitrary Dividers:
Rename File or Directory:
Comparing Two Files:
Changing the Date/Time Stamp of a File:
Making Some Notes About Your Files:
Notes in Version 6 and Windows 95 Long Filename Support:
About Win95 Long Filename Aliases:
Printing a Directory Listing:
Printing a File:
----------------------------------------------------------------
Move cursor with Up/Dn Arrow; type option desired.
Form feed after print, if not one already? Y
Print header with file name and date/time? N
Set left margin of 0/5/10 spaces 0
Send file to LPT1 or LPT2? 1
Press Esc to cancel file print, Enter to proceed.
----------------------------------------------------------------
Modify the defaults as desired, and press Enter to print the file.
Creating a New File:
Edit a File:
View a File:
Child Processes (Application Launching):
Terminology: User Application as "Child" Program:
Resident Footprint of CMFiler:
"Shelling" to DOS:
Review of DOS Command Line Structure:
C:\>PCW\ED.EXE C:\PCW\DATA\USER.LST
C:\>PCW\ED.EXE C:\PCW\DATA\USER.LST
< -prog spec--> < ---command tail--->
Launching a Program from the Main Screen:
Immediate Execution:
Execution with Command Tail:
Execution with a Single File Name in the Command Tail:
"Seeding" the Command Tail:
Changing the Command Tail "Seed" Delimiter:
Customizing Your User Application File Specifications:
Specifying a Password for Access from Screen Saver:
A Further Execution Option - Instant ZIPping/UNZIPping:
ZIP a File:
UNZIP a File:
Tailoring CMFiler for custom ZIP/UNZIP spec:
Using Other Compression Utilities:
archiver options archivefile file1[, file2[ , . . . ] ]
The Data Entry Window:
Formatting Floppy Diskette:
Copying Floppy Diskettes:
Scanning a Diskette Sector-By-Sector:
Help:
Configuration File:
set cf-cfg=C:\SETTINGS\CF.CFG
Saving the Configuration:
Custom Configurations on Networks:
Setting User Options:
-------------------------------------------------------------------
Move cursor with Up/Dn Arrow. Type option desired.
Define F1 as Help? Y
Redefine "D" as HARD Delete? N
Wipe old files before HARD Delete? N
Overcopy files with same date/time/size? N
Refresh directory contents after Screen Saver? N
Assign Hidden attr to DESCRIPT.ION file? N
Assign Read-only attr to DESCRIPT.ION file? N
Turn off DESCRIPT.ION file updating? N
Turn Screen Saver off? N
Use European date convention dd-mm-yy? N
Invert function of high intensity color bit? N
Cga/ega, Vga, Mono: LCD: Tandy, Epson, other Lcd V
VGA display: 25/43/50 lines 4
Press Esc to cancel changes, Enter to accept.
--------------------------------------------------------------------
Quitting CMFiler:
Editor Module
The Display:
Record Delimiters:
Information Area:
Line Wrapping:
Cursor Movement:
Typeover vs Insert:
Edit Mode Limitations:
Editing a Line:
Alt- Keypad and Alt-N:
Changing Case:
Block Operations . . . or the REAL Power of CMFiler's Editor:
Marking a Block, and the Copy Buffer:
Delete, Copy, Move:
Restoring from Inadvertent Block Deletion:
Sending a Block of Text to the Printer:
. . . or to a File:
Find a String:
Leading and Trailing Blanks in the Data Window:
Replace and Global replace:
Pop-Up ASCII Table in Editor:
Leaving Edit Mode:
Saving File in Mid-Session:
Tree Services Module
The Display:
Cursor Movement:
Tree Image Facility and Options:
Show the File List:
Viewing or Editing Files:
Deleting Files:
Find (Goto) a File:
Goto a Directory:
Find Text:
CMFILER.*+|*.COM+|*.OVY+*.TXT
would result in a search of all files with the name CMFILER except
CMFILER.COM and CMFILER.OVY, plus all files with the extension .TXT.
Copying Tree Structures UNDER:
The "Copy INTO" Function for Tree Structures:
C:\ A:\
|-ANYOLD.DIR [ '-WORDS
|-WORDS ] ,--------------->[ |-LETTERS
| |-LETTERS ]----' [ '-NOTES
| '-NOTES ]
'-ZLAST.DIR
A:\
Moving Tree Structures:
Copying Just the Files:
Copying Just the Directory Array:
Deleting Tree Structures:
Delete Just the Files:
Quitting the Tree Functions: