Home of the original IBM PC emulator for browsers.
[PCjs Machine "ibm5170"]
Waiting for machine "ibm5170" to load....
An interesting series of extremely flexible and useful DOS enhancements.
These are not meant to replace standard DOS commands, but to add
versatility and utility as powerful supersets of these commands.
Features include: multiple file names on command lines; 16 new wild
cards; visual file selection; more useful file/system information;
retrieval of deleted files; measurement of elapsed time of programs or
commands, and directory sorting. These extensions can also be combined
to create new functions or process multiple files with one command.
File Descriptions:
The First Disk Contains:
REF DOC Documentation -- reference manual for DOS Extensions.
LS EXE DOS extension -- directory lister.
USER DOC Documentation -- installation and use of extensions.
The Second Disk Contains:
ATT EXE DOS extension -- view or change file attributes.
WHEREIS EXE DOS extension -- file locator.
VOLM EXE DOS extension -- view or change volume name.
CAT EXE DOS extension -- concatenate files.
ALARM EXE DOS extension -- sound a controllable tone.
INP EXE DOS extension -- input data to a DOS pipe.
INFO EXE DOS extension -- display disk, or memory information.
GPM EXE DOS extension -- find text patterns in files.
DIRSRT EXE DOS extension -- directory sorter.
CP EXE DOS extension -- copy files.
CMD EXE DOS extension -- execute programs, commands, .bat files.
CLK EXE DOS extension -- elapse time of programs or commands.
UNIQ EXE DOS extension -- duplicate text line handler.
UNDEL EXE DOS extension -- retreive a deleted file.
TXLAT EXE DOS extension -- character translator.
TEE EXE DOS extension -- DOS pipe output controller.
STAT EXE DOS extension -- statistical text file information.
SLEEP EXE DOS extension -- pause command.
SELECT EXE DOS extension -- visual selector.
SED EXE DOS extension -- file editor.
RM EXE DOS extension -- delete files.
RENM EXE DOS extension -- rename files.
RENDIR EXE DOS extension -- rename a subdirectory.
PRNT EXE DOS extension -- output selected text lines of files.
MV EXE DOS extension -- move files.
MERGE EXE DOS extension -- merge text lines from multiple files.
---------------------------------------------------------------------------
Disk No 585 DOS EXTENSIONS (disk 1 of 2) v1 DS2
---------------------------------------------------------------------------
This disk contains the User Manual, Reference Manual and one of a series of
extremely flexible and useful DOS Extensions. These do not necessarily re-
place resident DOS commands, which can still be used as is. Rather, they
add more versatile and powerful supersets of these commands which greatly
add to their utility.
LS EXE DOS Extension - Directory lister
REF DOC Documentation - Reference Manual for DOS Extensions
USER DOC Documentation - Manual for Installation and use of extensions
PC-SIG (Software Interest Group)
1030 East Duane Avenue, Suite D
Sunnyvale, CA 94086
(408) 730-9291
Program name: DOS EXTENSIONS Version 1.2
Author name: Daryll Shatz
Address: Box 3282
Redondo Beach, Ca 90277
Suggested Donation:
$35.00 gets an unregistered copy of version 2.0. Registration fee for version
2.0 is $55 or $20 if a contribution of $35 has already been made. Registered
users receive the following additional items: User ID number, IBM style printed
Reference Manual, one year of free updates and bug fixes, one year's subscrip-
tion to the "EXTENSIONS" newsletter, and the option to purchase a copy of the
source code whenever it becomes available.
Program Description:
This DOS EXTENSIONS package has been designed to enhance the features and flexi-
bility of DOS by adding over twenty new commands. All the original DOS commands
remain available, but the extensions allow the user to eliminate redundancies
and thus do more work in less time. Through a technique called 'prefixing',
data from multiple files can be sent through a pipe, all on one line with one
command.
The capabilities of this extension package are impressive. The CP command re-
quires only one command to copy files with multiple selection criteria. Like-
wise, the LS (List Directory) command also allows multiple selection criteria
to locate several different file or subdirectory names at a time, and the
output of the LS Command can be piped into many other commands to add greater
control over the files being processed.
The five additional file handling commands, MV, ATT, CAT, DIRSRT, and WHEREIS
provide the ability to view and change file attributes, concatenate files,
extended directory sorting, and the ability to locate files across subdirec-
tories. The task control commands, SLEEP, CMD, and CLK are useful to control or
time the execution of either DOS commands or programs.
The commands INP and TEE are used to start and end a pipe and the four powerful
file editing commands, SED, TXLAT, UNIQ, and MERGE can be used to edit multiple
items among multiple files. Finally, there are four miscellaneous commands:
ALARM simply produces a tone under the user's control; PRNT outputs selected
lines from files; STAT provides a useful statistical report on text files,
and SELECT is a Filter allowing multiple input choices, making DOS file hand-
ling much friendlier.
Disk number one has the two documentation files, which can be sent out to the
printer, and are pre-formatted to print out as useable manuals. This disk also
contains one of the utilities. Disk number two has the rest of the utilities.
The User's manual contains instructions on installation and use. The Reference
Manual is organized by command, with examples.
System requirements are MS or PC DOS 2.1 or better. A system with at least
256K is recommended.
DOS EXTENSIONS
REFERENCE MANUAL
Copyright (c) 1985, 1986
Daryll Shatz
Box 3282
Redondo Beach, Ca 90277
This document contains information which is the property of the
copyright owner. It shall not be used or duplicated, in whole or
in part, in any manner without expressed written permission of
the copyright owner.
This program is provided on an "as is" basis without warranty
of any kind, expressed or implied, including but not limited to
the implied warranties of merchantability and fitness for a
particular purpose. The entire risk as to quality and
performance of this program is with you. Should the program
prove defective, you assume the entire cost of all necessary
repair, servicing, or correction. In no event will the author be
liable to you for any damages, including any lost profits, lost
savings, or other incidental or consequential damages arising out
of the use or inability to use this program.
DOS EXTENSIONS
COMMAND/FILTER SUMMARY
---------------------------------------------------------------------
ALARM - Sound a controlable tone
ATT - View or change file attributes
CAT - Concatenate files
CLK - Measure elapse time of programs or commands
CMD - Execute programs, commands, or batch files
CP - Copy files
DIRSRT - Directory sorter
GPM - Find text patterns in files
INFO - Display system, disk, or memory information
INP - Input data to a DOS pipe
LS - Directory lister
MERGE - Merge text lines from multiple files
MV - Move files
PRNT - Output selected text lines of files
RENDIR - Rename a subdirectory
RENM - Rename files
RM - Delete files
SED - File editor
SELECT - Visual selector
SLEEP - Pause command
STAT - Statistical text file information
TEE - DOS pipe output controller
TXLAT - Character translator
UNDEL - Retreive a deleted file
UNIQ - Duplicate text line handler
VOLM - View or change volume name
WHEREIS - File locator
ALARM
Command
------------------------------------------------------------------
Purpose: Sounds a definable tone at a specified time. Tone can
be repeated until stopped by pressing any key. The
duration of the tone is controllable.
Format: ALARM [options] [parameters]
Options: Option indicator (-) followed by one or more of
the following characters:
D = Set the tone duration (default: 1 sec).
R = Minutes to repeat tone (default: none)
@ = Sound tone at specified time (default: now)
? = Display help message.
Parameters: Duration format:
Positive whole number from 0 to 999. Each multiple
of 18 equals one second.
Time format:
[H]H:[M]M (in 24 hour format).
Repeat format:
[M]M:[S]S
Type: Internal External
***
Remarks: Repeat cycle can terminated by pressing any key.
Because STDIN is redirected during piping, any data
in the pipe will terminate the repeat cycle.
Computer is not usable while alarm is waiting.
Returns error code of 0 if all succeed, 1 if errors.
ALARM
Examples: (1) Sound alarm, for 20 seconds every 5 minutes, when
a program finishes. The program must not output
anything to STDOUT:
program-command | ALARM -dr 360 5:00
(2) Sound alarm at 10:15pm:
ALARM -@ 22:15
(3) Sound alarm at 9:51am for 10 seconds:
ALARM -@d 09:51 180
ATT (File Attribute)
Command / Filter
------------------------------------------------------------------
Purpose: View or change file attributes of one or more files.
Format: ATT [options] [new-att] [file-list]
Options: Option indicator (-) followed by one or more of
the following characters:
C = Continue on minor errors.
P = Prefix each file (for piping).
S = Suppress file list.
W = Write NEW-ATT value into file's attribute field.
? = Display help message.
New-Att: Two digit hexadecimal value representing new attribute
byte. Attribute Byte format:
[- - Arch SubDir VolLabel Sys Hidden ReadOnly]
File-List: One or more DOS file specifications or wild cards:
[disk][path][file-names][file-extensions]
Type: Internal External
***
Remarks: NEW-ATT values must be a hexadecimal number.
Keyboard entry is terminated by a <CTRL-Z>.
Returns error code of 0 if all succeed, 1 if errors.
ATT
Examples: (1) Look at the file attributes of SAMPLE.DOC:
ATT SAMPLE.DOC
(2) Set the file attributes of SAMPLE.DOC to value 21:
ATT -w 21 SAMPLE.DOC
(3) Look at the file attributes of all files with a
".EXE", ".COM", and ".BAS" extension. Continue if
any minor errors occur:
ATT -c *.EXE *.COM *.BAS
(4) Backup a set of files and change archival bit to
off (used to reflect no change to file since last
backup). Abort if any errors:
LS .C | CP -f A: | ATT -w 00
(6) Backup all files with archival bit on (indicates
file was changed since last backup) and set the
archival bit back to off:
LS -a 20 *.* | CP -f A: | ATT -w 00
(7) Set attribute value of all files in directory
\TOOLS\TEST to 21 and then display the files:
ATT -w 21 \TOOLS\TEST\*.* | CAT
CAT (Concatenate Files)
Command / Filter
------------------------------------------------------------------
Purpose: Concatenate one or more files together. Outputs, line
by line of each file listed, to STDOUT.
Format: CAT [options] [file-list]
Options: Option indicator (-) followed by one or more of
the following characters:
A = Ask before doing each file. Reply Y or N.
C = Continue on minor errors.
P = Prefix each file (for piping).
S = Suppress file list.
? = Display help message.
File-List: One or more DOS file specifications or wild cards:
[disk][path][file-names][file-extensions]
Type: Internal External
***
Remarks: Files will be appended in the order of FILE-LIST.
Keyboard entry is terminated by a <CTRL-Z>.
Returns error code of 0 if all succeed, 1 if errors.
CAT
Examples: (1) List the contents of a file SAMPLE.DOC:
CAT SAMPLE.DOC
(2) List the contents of all files starting with
the letters AC and continue if minor errors
occur:
CAT -c AC*.*
(3) Concatenate files A.CAT, B.CAT, and C.END into
a file called RESULT.TXT:
CAT A.CAT B.CAT C.END > RESULT.TXT
(4) Concatenate all files which contain the word
TST in their name. Verify each file name before
doing the append. Sort the lines and save the
result into a file called SAV.RES:
LS TST | CAT -a | SORT > SAV.RES
CLK (CLOCK - Measure Elapse Time)
Command / Filter
------------------------------------------------------------------
Purpose: Measure the elapse time of a program or a DOS command.
Format: CLK [?] [program-or-command]
Options: Option indicator (-) followed by one or more of
the following characters:
? = display help message
Program-or-Command:
Any legal DOS commands or program names.
Type: Internal External
***
Remarks: Commands/program names containing white space must
be entered via keyboard. Keyboard entry is terminated
by a <CTRL-Z>.
Returns error code of 0 if all succeed, 1 if errors.
Examples: (1) Produces a directory listing and measure time
required to execute the command:
CLK DIR - or - CLK LS *.*
(2) Measure the time required to compile a list of
programs contained in a batch command file:
CLK CCALL.BAT
(3) Measure the time required to run programs A.PRG,
B.PRG, and C.PRG
CLK A.PRG B.PRG C.PRG
CMD (Execute a Program, a DOS Command, or a Batch File)
Command / Filter
------------------------------------------------------------------
Purpose: Used in pipings to execute a programs, DOS commands,
or DOS Batch Files.
Format: CMD [options] [count] [tasks]
Options: Option indicator (-) followed by one or more of
the following characters:
B = execute a batch file.
R = Number of times to execute (default: 1).
S = Suppress any display output.
? = display help message.
Count: Number of time to repeat [1 to 99999].
Tasks: Any legal DOS command(s) or program name(s) or
single batch file name
Type: Internal External
***
Remarks: Commands/program names containing white space must
be entered via keyboard. Keyboard entry is
terminated by a <CTRL-Z>.
Returns error code of 0 if all succeed, 1 if errors.
CMD
Examples: (1) Execute a program called DOIT.EXE three times:
CMD -r 3 DOIT.EXE
(2) Execute a program called TV.ON at 10:15am:
SLEEP -@ 10:15 | CMD TV.ON
(3) Execute the DOS command BACKUP and do not output
anything to the screen. Use piping:
INP | CMD -s
Keyboard entry:
BACKUP C:\*.* A:
<CTRL-Z>
(4) Execute the DOS batch file, BATCH.BAT, on each
source file, *.C, in the current directory:
LS .C | CMD -b BATCH.BAT
BATCH.BAT:
CC %1 -les
CP (File Copy)
Command / Filter
------------------------------------------------------------------
Purpose: Copy one or more files, text or binary, from one disk
and/or directory to a new disk and/or directory. New
files can be a different name.
Format: CP [options] [from-list] to
Options: Option indicator (-) followed by one or more of
the following characters:
A = Ask before copying each file. Reply Y or N.
C = Continue on minor errors.
E = Do not overwrite existing files.
F = List each FROM-FILE copied.
P = Prefix each file (for piping).
S = Suppress file list.
T = List each to TO-FILE copied.
? = Display help message.
From-List: One or more DOS file specifications or wild cards:
[disk][path][file-names][file-extensions]
To: One DOS file specification or wild cards:
[disk][path]file-name.extension
Type: Internal External
***
CP
Remarks: Some part of the TO specification is required.
New files will be tagged with current time and date.
Default display is FROM and TO file specifications.
Keyboard entry is terminated by a <CTRL-Z>.
Returns error code of 0 if all succeed, 1 if errors.
Examples: (1) Copy files A.WP, any file starting with the letter
B, all files with a ".EXE" extension to disk A:
CP A.WP B*.* *.EXE A:
(2) Copy all files from path \SYS\ETC\JUNK to disk B:
and path \MISC\STUFF. Ask for permission before
copying each file and do not over write any
existing files:
CP -ae \SYS\ETC\JUNK\*.* B:\MISC\STUFF
(3) Make a copy of the file INVENT.DAT in directory
\ACCT\DATA and change extension of the new file
to SAV:
CP INVENT.DAT \ACCT\DATA\.SAV
(4) Copy all files in the current directory to disk
A: and list only the from file specifications.
Also do not abort if minor errors occur and ask
permission before copying each file:
CP -acf *.* A:
(5) Copy all files, in the current directory, to
disk A: which have the word "BACKUP" contained
somewhere in the file:
GPM -z BACKUP *.* | CP A:
DIRSRT (Directory Sorter)
Command
------------------------------------------------------------------
Purpose: Sorts one or more directories by file name, file size,
file date, or file time. Also compacts directory by
removing deleted file entries.
Format: DIRSRT [options] directory-list
Options: Option indicator (-) followed by one or more of
the following characters:
C = Compact but do not sort.
E = Sort by file extensions.
D = Sort by file dates.
S = Sort by file sizes.
T = Sort by file times.
? = Display help message.
Directory-List:
One or more DOS directory specifications:
[disk][path]
Use * or *.* to indicate the current directory.
Type: Internal External
***
DIRSRT
Remarks: ROOT directory can NOT be sorted.
Sort default is by file names.
This Command creates a temporary directory \%TMP$$$
to perform compaction. This temp directory must not
be present.
This Command will abort on any error condition. This
may leave the files split among two directories, the
directory being sorted and the temporary directory.
To recover simply correct the error condition and then
move all the files in the temporary directory back to
the directory being sorted.
Returns error code of 0 if all succeed, 1 if errors.
Examples: (1) Sort the current directory by file names:
DIRSRT
(2) Sort directories B:\DOS and C:\SAMPLE\DATA by
file dates:
DIRSRT -d B:\DOS C:\SAMPLE\DATA
GPM (General Pattern Matcher)
Command / Filter
------------------------------------------------------------------
Purpose: Searches one or more files for a specified search
pattern. Pattern may contain special characters and
can span multiple lines. Outputs resulting matches to
STDOUT or a specified file.
Format: GPM [options] pattern [file-list]
Options: Option indicator (-) followed by one or more of
the following characters:
C = Continue on minor errors.
D = Pipe data is text lines (default: file names).
E = Match line exactly as specified (default: match
pattern anywhere in the text line).
K = Get PATTERN from keyboard.
N = Output line numbers.
P = Prefix each file (for piping).
S = Suppress file list.
W = Output whole file if a match is found.
X = Output non-matched text lines only.
Z = List file names containing at least one match.
? = Display help message.
GPM
Pattern: String of character to match and/or the following
wild cards:
[] = match any single character in the enclosed
series (i.e. [c-s] match any character c to s)
? = match any single character
* = match any zero or more characters
^ = match starts at first character of the line
$ = match ends at the end of the line
Precede any wild card character with a backslash (\)
to remove wild card effect.
Special characters can be specified entering the two
digit hex value preceded by a tilide ~ character.
Useful values: space = ~20 FF = ~0C
tab = ~09 ESC = ~1B
CR = ~0D LF = ~0A
Maximum of 256 characters allowed in the pattern field.
File-List: One or more DOS file specifications or wild cards:
[disk][path][file-names][file-extensions]
Type: Internal External
***
Remarks: Remember to account for any hidden characters like
CR, TABS, etc.
Each Carriage Return that you enter to end a line of
text is converted to a LF (~0A) character by DOS and
is, therefore, the last character of each line.
Keyboard entry is terminated by a <CTRL-Z>.
Returns error code of 0 if all succeed, 1 if errors.
GPM
Examples: (1) Find all the text lines containing the word
"FOUND" in the file called TEST.TXT:
GPM FOUND TEST.TXT
(2) Find all the text lines that don't contain the
word "FOUND" in the files TEST.TXT and *.BAS:
GPM -x FOUND TEST.TXT *.BAS
(3) List all files, in the current directory, which
have the pattern "Daryll" as the last set of
characters on any text line:
GPM -z Daryll~0A$ *.*
(4) Output all text lines, of any file made since
March 28, 1985 in the directory \LOOK, which
don't have the pattern "DATE" in it somewhere.
Output the line number and continue if minor
errors occur:
LS -d 3/28/85 \LOOK\*.* | GPM -cnx DATE
(5) Pipe the contains of each file, containing the
exact text line "PIPE ME!!" in it somewhere,
to a user program called ABC.MK. Use the files
from directory \LOOK which end with a file
extension of ".TXT":
GPM -ew PIPE~20ME!!~0A \LOOK\*.TXT | ABC.MK
(6) Pipe text lines into GPM and output only the
lines containing the word "PASS" as the first
characters of the line. Sort the lines and
make a file, called RS.T, containing only one
copy of any duplicate lines:
CAT *.* | GPM -d PASS | SORT | UNIQ -d > RS.T
(7) Find the names of any files which do not contain
a star (*) character in the file:
GPM -zx \* *.*
INP (Pipe Input)
Filter
------------------------------------------------------------------
Purpose: Allows multiple lines to be input to a DOS pipe.
Format: INP [option]
Option: Option indicator (-) followed by one or more of
the following characters:
? = Display help message.
Type: Internal External
***
Remarks: This filter is useful when trying to input lines of
information into a DOS pipe since any white space
characters typed on the command line will terminate
the information.
Keyboard entry is terminated by a <CTRL-Z>.
Returns error code of 0 if all succeed, 1 if errors.
Examples: (1) Input a list of file names to a pipe:
INP | pipe-commands...
Keyboard entry:
FILES.C
ACCT.DAT
*.EXE
<CTRL-Z>
(2) Input text lines to a pipe:
INP | pipe-commands...
Keyboard entry:
This is text line one
This is text line two
This is text line three
<CTRL-Z>
INFO (Display Disk, System, and Memory Information)
Filter
------------------------------------------------------------------
Purpose: Displays disk, system, and memory information.
Format: INFO [options] [disk]
Option: Option indicator (-) followed by one or more of
the following characters:
D = Display disk information.
M = Display memory information.
S = Display system information.
? = Display help message.
Type: Internal External
***
Remarks: Consult DOS manual on meaning of information provided.
Available memory is all memory above DOS. Use the
DOS Command CHKDSK for usable memory amount.
Returns error code of 0 if all succeed, 1 if errors.
Examples: (1) Display information about the system:
INFO -s
(2) Display information about disk drive A:
INFO -d A:
LS (List Directory Names)
Command
-------------------------------------------------------------------
Purpose: Produces a list of file names, file information, and/or
directory statistics, to STDOUT, based on specified
criterion. Criterion include any combination of file
name patterns, dates, times, attributes, and size.
Format: LS [options] [parameters] [file-list]
Option: Option indicator (-) followed by one or more of
the following characters:
A = Match file attribute byte (default: hex 20).
D = Match file date (default: any date).
E = Match exactly as specified (default: match
search-pattern anywhere in the name).
L = Display file information (long format).
N = Disable file names and information.
S = Match file size (default: any size).
T = Match file time (default: any time).
V = Display file count and total file byte size.
X = Display non-matches only.
? = Display help message.
LS
Parameters: Attribute format:
[- - Arch SubDir VolLabel Sys Hidden ReadOnly]
Date format: C[M]M/[D]D/YY[YY]
where: C = L for less than
E for equals to
G for greater than
MM = month DD = day YYYY = year
Size format: C[#####]#
where: C = L for less than
E for equals to
G for greater than
###### = byte number
Time format: C[H]H:/[M]M (24 hour format)
where: C = L for less than
E for equals to
G for greater than
HH = hour MM = minute
File-List: One or more DOS file specifications:
[disk][path][file-names][file-extensions]
Wild cards:
[] = match any single character in the enclosed
series (i.e. [c-s] match any character c to s)
? = match any single character
* = match zero or more characters
^ = match starts at first character of the line
$ = match ends at the end of the line
Precede any wild card character with a backslash (\)
to remove wild card effect.
Type: Internal External
***
Remarks: Keyboard entry of is terminated by a <CTRL-Z>.
Returns error code of 0 if all succeed, 1 if errors.
LS
Examples: (1) List all files in current directory and show a
count of the files and the total of file sizes:
LS -v *.*
(2) List all files in directory \SYS\WP which have
a file size of less than 10000 bytes:
LS -s L10000 \SYS\WP\*.*
(3) List all files, in the current directory, which
have an R, S, or T as the first character of the
file name and an file attribute of 21 hex:
LS -a 21 ^[R-T]
(4) Input, to a pipe, a list of files which do not
contain a "TST" in it somewhere and which was
not made after 9:15am, and before May 21, 1985:
LS -dtx L5/21/1985 G9:15 TST | pipe-commands...
(5) Backup all files with a date of March 8, 1985
and a file attribute of 20 hex. Set the file
attribute to 00 hex after backup is made:
LS -da E3/8/85 20 *.* | CP -f A: | ATT -w 00
(6) Produce a sorted list of all files contained in
the directory \SYS\BASIC which have an extension
of ".BAS":
LS \SYS\BASIC\*.C | SORT
(7) Show all subdirectories off the current directory:
LS -a 10 *
MERGE
Command / Filter
------------------------------------------------------------------
Purpose: Merges specified text lines from one or more files
with one or more pre-formatted files (called Control
Files) and outputs the result to STDOUT. Control Files
contain normal text and one or more merge indicators
(called Merge Markers) which specify the file name and
line numbers of a file to merge with the Control file.
Format: MERGE [option] [out-file] [control-list]
Option: Option indicator (-) followed by one or more of
the following characters:
C = Continue on minor errors.
F = Force output to OUT-FILE.
P = Prefix each file (for piping).
? = Display help message.
Out-File: One DOS file specifications:
[disk][path]file-name.extension
Control-list:
One or more DOS file specifications or wild cards:
[disk][path][file-names][file-extensions]
MERGE
Type: Internal External
***
Remarks: Merge Marker format:
%MERGE file-specification start-line end-line%
Where file-specification:
[disk][path]file-name.extension
Merge Markers are replaced by the requested text
lines if any text lines are found between the start.
and end line numbers specified.
Keyboard entry is terminated by a <CTRL-Z>.
Returns error code of 0 if all succeed, 1 if errors.
MERGE
Examples: (1) Merge file NAMES.LST, which contains names and
address of computer owners, into a file called
LETTER.LET. Print the combined files:
NAMES.LST looks like:
Daryll Smith
123 Main Street
Oak View, CAL 90123
DEC Rainbow 100
<CTRL-Z>
LETTER.LET looks like:
%MERGE NAMES.LST 1 3%;
Dear %MERGE NAMES.LST 1 1%;
Thank you for your comments about our
new %MERGE NAMES.LST 4 4% version of the
DOS Extensions.
<CTRL-Z>
Command:
MERGE LETTER.LET | TEE -fos TMP | PRINT TMP
(2) Add a set of header lines to all files, in the
current directory, with file extensions of ".C":
HEADER.C file looks like:
/*
** This is a header file
*/
line four information
line five information
.
.
last line to be included in merger
<CTRL-Z>
*.C files looks like:
maybe some text lines here
%MERGE HEADER.C 4 999%
rest of text here
<CTRL-Z>
Command:
MERGE -p *.C | TEE -os
MV (Move Files)
Command / Filter
------------------------------------------------------------------
Purpose: Move one or more files from one directory to a new
directory. Files can be either text or binary. New
files can be a different name but must be on the same
disk.
Format: MV [options] [from-list] [to]
Option: Option indicator (-) followed by one or more of
the following characters:
A = Ask before moving each file. Reply Y or N.
C = Continue on minor errors.
F = List each FROM-FILE copied.
O = Overwrite existing files.
P = Prefix each file (for piping).
S = Suppress file list.
T = List each TO-FILE copied
? = Display help message.
From-List: One or more DOS file specifications or wild cards:
[disk][path][file-names][file-extensions]
TO: One DOS file specifications:
[disk][path]file-name.extension
MV
Type: Internal External
***
Remarks: Some part of the TO specification is required.
Default output is both from and to file specifications.
Keyboard entry is terminated by a <CTRL-Z>.
Returns error code of 0 if all succeed, 1 if errors.
Examples: (1) Move file called C:THIS.FIL to disk C:THAT.FIL:
MV C:THIS.FIL C:THAT.FIL
(2) Move all files from path \SYS\ETC\JUNK to path
\MISC\STUFF. Verify each file before moving
and do not over write any existing files:
MV -av \SYS\ETC\JUNK\*.* \MISC\STUFF
(3) Move all files in the current directory to \NEW
and list only the from file specifications.
Also do not abort if minor errors occur and ask
permission before moving each file:
MV -acf *.* \NEW
(4) Move a file called ABDS.SDF from the current
directory to directory \NEW\DATA. Overwrite the
file (if it exists) in the new directory:
MV -o ABDS.SDF \NEW\DATA
PRNT (Print Lines)
Command / Filter
------------------------------------------------------------------
Purpose: Print one or more selected lines (or pages) of one or
more files to STDOUT.
Format: PRNT [options] [page-size] range-list [file-list]
Option: Option indicator (-) followed by one or more of
the following characters:
C = Continue on minor errors.
D = Define lines per page & work with pages
(default: lines)
F = Output a form feed character <FF> after
each file.
S = Suppress file list.
P = Prefix each file (for piping).
? = Display help message.
Page-Size: Any number from 1 to 999. A zero counts form feed
characters (hex 0C).
Range-List: One or more line/page numbers and/or start and end
line/page number pairs separated by commas.
Start and end pairs consist of a number, then a (-)
dash, and then a second number. (example: 23-79).
From-List: One or more DOS file specifications or wild cards:
[disk][path][file-names][file-extensions]
Type: Internal External
***
PRNT
Remarks: Keyboard entry is terminated by a <CTRL-Z>.
Returns error code of 0 if all succeed, 1 if errors.
Examples: (1) Print lines 1 through 34 and 66 of file CAT.C:
PRNT 1-34,66 CAT.C
(2) Print all lines after the 10th line of SAMPLE:
PRNT 11-9999 SAMPLE
(3) Print pages 20 through 43 of a 55 line per page
file called REPORT.DOC and sort and remove all
duplicate lines:
PRNT -d 55 20-43 REPORT.DOC | SORT | UNIQ -d
(4) Print all lines of files A.DOC, B.DOC, and C.DOC:
PRNT 1-* A.DOC B.DOC C.DOC
RENDIR (Rename Subdirectory)
Command
------------------------------------------------------------------
Purpose: Renames a DOS subdirectory.
Format: REDIR [options] old-name new-name
Option: Option indicator (-) followed by one or more of
the following characters:
? = Display help message.
Old-Name: One DOS file specification:
[disk][path][subdirectory-name]
New-Name: One Subdirectory specification:
[Subdirectory-name]
Type: Internal External
***
Remarks: This command only process one rename.
Returns error code of 0 if all succeed, 1 if errors.
Examples: (1) Rename the current subdirectory, "OLDDIR", to
"NEWDIR":
RENDIR OLDDIR NEWDIR
(2) Rename subdirectory "TESTDIR", on drive A:, with
path "\SYS\ETC\" to "SAMPLEDIR":
RENDIR A:\SYS\ETC\TESTDIR SAMPLEDIR
RENM (Rename Files)
Command / Filter
------------------------------------------------------------------
Purpose: Rename one or more files. Files can be either text or
binary. Old file and corresponding new file must be
on the same disk.
Format: RENM [options] [old-list] [rename-template]
Option: Option indicator (-) followed by one or more of
the following characters:
A = Ask before renaming each file. Reply Y or N.
C = Continue on minor errors.
F = List each OLD-FILE name.
O = Overwrite existing files.
P = Prefix each file (for piping).
S = Suppress file list.
T = List each NEW-FILE name.
? = Display help message.
Old-List: One or more DOS file specifications or wild cards:
[disk][path][file-names][file-extensions]
Rename-Template:
One file specifications:
[disk][path][file-name][file-extension]
Type: Internal External
***
RENM
Remarks: Some part of the RENAME-TEMPLATE is required.
Default display is OLD and NEW file specifications.
Keyboard entry is terminated by a <CTRL-Z>.
Returns error code of 0 if all succeed, 1 if errors.
Examples: (1) Rename a file called C:THIS.FIL to disk C:THAT.FIL:
RENM C:THIS.FIL C:THAT.FIL
(2) Rename all files from path \SYS\ETC with a file
extension of ".C" to ".TMP". Verify each file
before renaming and do not over write any
existing files:
RENM -av \SYS\ETC\JUNK\*.C .TMP
(3) Rename all files in the current directory to have
a file extension of ".CHG" and list only the old
file specifications. Also do not abort if minor
errors occur and ask permission before renaming
each file:
LS -s G1000 ^ACC | RENM -a
RM (Remove Files)
Command / Filter
------------------------------------------------------------------
Purpose: Remove one or more files. Files can be either text or
binary.
Format: RM [options] [file-list]
Option: Option indicator (-) followed by one or more of
the following characters:
A = Ask before doing each file. Reply Y or N.
C = Continue on minor errors.
P = Prefix each file (for piping).
S = Suppress file list.
? = Display help message.
File-List: One or more DOS file specifications or wild cards:
[disk][path][file-names][file-extensions]
Type: Internal External
***
Remarks: It is strongly recommended that the A (ask) option
always be used to avoid mistakes.
Keyboard entry is terminated by a <CTRL-Z>.
Returns error code of 0 if all succeed, 1 if errors.
RM
Examples: (1) Remove the files C:THIS.FIL and B:*.*:
RM C:THIS.FIL B:*.*
(2) Remove all files from path \SYS\ETC with a file
extension of ".C" or ".TMP". Verify each file
before removing:
RM -a \SYS\ETC\*.C \SYS\ETC\.TMP
(3) Remove all files in the current directory that
begin with the characters "ACC" and have a file
size greater than 1000 bytes. Verify each file
before removing:
LS -s G1000 ^ACC | RM -a
SED (Stream Editor)
Command / Filter
------------------------------------------------------------------
Purpose: General purpose editor for use on one or more files.
Each file is passed through a list of edit commands
(called the Edit-List) which can perform add, modify,
and/or delete activities on the original files. The
results are output to STDOUT only.
Format: SED [options] [input-file] [edit-list] [file-list]
Option: Option indicator (-) followed by one or more of
the following characters:
C = Continue on minor errors.
D = Pipe data is text lines (default: file names).
F = Get EDIT-LIST from INPUT-FILE.
K = Get EDIT-LIST from keyboard.
L = Display list of edit commands.
S = Suppress file list.
P = Prefix each file (for piping).
? = Display help message.
Input-File: One DOS file specification:
[disk][path]file-name.extension
Edit-List: See edit commands.
File-List: One or more DOS file specifications or wild cards:
[disk][path][file-names][file-extensions]
Type: Internal External
***
SED
Remarks: Edit-List commands are case sensitive. The upper
case commands work on lines while the lower case
commands work on characters. Any command not
restricted to lines or characters will accept
either case.
The Edit-List commands (A,F,G,I,J, and R), which
operate on strings use the first character, after
the command, as the string delimiter (start and end
markers). The forward slash (/) character is used
in the examples below but any character will do.
Edit-List entry via keyboard entry is terminated by
an end-of-file-mark <CTRL-Z>.
Maximun of 256 characters in the edit-list allowed.
Maximun of 4096 characters allowed in the Buffer.
Returns error code of 0 if all succeed, 1 if errors.
SED Edit-List Commands
------------------------------------------------------------------
WRITE: A/sss/ = output characters until string sss is found
W### = output next ### lines
w### = output next ### characters
INSERT: I/sss/ = output string sss
MODIFY: R/old/new/ = replace next occurrence of string old with
string new
G/old/new/ = replace all occurrences of string old with
string new
(note: any command following the G command
will not be executed)
DELETE: J/sss/ = jumpto next character after string sss
D### = delete next ### lines
d### = delete next ### characters
BUFFER: B### = output & buffer next ### lines
b### = output & buffer next ### characters
C### = delete & buffer next ### lines
c### = delete & buffer next ### characters
P = paste (output) contents of buffer
MISC: [###ccc] = repeat the enclosed ccc list of
edit commands ### times.
L = output a new line (LF) character
F = output a form feed (FF) character
S### = output ### space characters
Q = quit this file without finishing
E = output rest of file as is
SED
Examples: (1) Edit file C:\WP\A.DOC to add "INSERT-THIS<CR>"
after the tenth line. Also replace the first three
occurrences of "CAT" with "DOG" and output the rest
of the file as is:
SED W3I/INSERT-THIS/L[3R/CAT/DOG/]E C:\WP\A.DOC
(2) Edit all files, in the current directory, such
that the first occurrence of the words "OLD WORDS"
are changed to "NEW WORDS" and add the phrase
"Version 2" after the line "Release goes here".
Output rest of the files as is. Get the edit-list
from the keyboard and overwrite the original files
with the edited result:
LS *.* | SED -pk | TEE -o
Keyboard entry:
R/OLD WORDS/NEW WORDS/
A/Release goes here
/I/Version 2/E
<CTRL-Z>
(note that keyboard entry can have imbedded CR,
spaces, and special characters within strings.)
(3) Edit the file SMP.TXT to move the second and third
lines after the first occurrence of the phrase
"PLACE HERE". Delete the next five characters,
insert a form feed character, and then write three
characters form the original file. End without
outputting anything else:
SED W1C2J/PLACE~20HERE/Pd5Fc3Q SMP.TXT
(4) Edit the file A.DOC to copy the second and third
lines after the first occurrence of the phrase
"PLACE HERE". Copy the rest of the original file
as is:
SED W1B2J/PLACE~20HERE/PE A.DOC
(5) Edit the file C:HACK.DTS to insert the prefix
string at the front of the file:
SED -p H00I"C:HACK.DTS"LE C:HACK.DTS | TEE -o
(note that the double quote character (") was
used to mark the start and end of the insert
string)
SELECT (Visual Selector)
Filter
------------------------------------------------------------------
Purpose: Allows visual selection of multiple lines of data.
Format: SELECT [width-count] [title]
Option: Option indicator (-) followed by one or more of
the following characters:
M = Monochrome Card
T = Title
W = Width (Number of Columns)
? = Display help message.
Type: Internal External
***
Remarks: DOS 3.x owners should rename the DOS function
SELECT.COM as that name conflicts with this Filter.
Maximun number of columns is 5. Maximun number of
pages is 1 for Monochrome and 3 for Color card.
A blinking letter P will appear next to the page counter
if there is more items than the Filter can handle.
Returns error code of 0 if all succeed, 1 if errors.
SELECT Commands
------------------------------------------------------------------
Cursor Movement:
HOME - Go to page one, column one, first item.
END - Go to last page, last column, last item.
PgUp - Go to previous page (if exists), same column,
same item.
PgDn - Go to next page (if exists), same column,
same item.
UP - Go to previous item (if any) and previous page
and/or column (if needed).
DOWN - Go to next item (if any) and next page and/or
column (if needed).
LEFT - Go to previous column (if any), previous page
(if needed), same item.
RIGHT - Go to next column (if any), next page (if
needed), same or last item.
Selecting Items:
INS - (YES) Selects current item for output.
F1 - (YES) Selects current item for output.
DEL - (NO) Deselects current item.
F2 - (NO) Deselects current item.
Done:
ENTER - Output selected items
SELECT
Examples: (1) Visually select files from the current directory,
to be copied to disk B:
LS *.* | SELECT | CP B:
(2) Visually select files to remove in the directory
\DOS. Include a title:
LS \DOS\*.* | SELECT -t RM_DOS_FILES| RM
(3) Visually select data lines produced by PROGRAM1
and pipe them into PROGRAM2. Use 2 columns to
display data lines:
PROGRAM1 | SELECT -w 2 | PROGRAM2
SLEEP
Command
------------------------------------------------------------------
Purpose: Causes computer to pause for a specified number of
seconds or until a specified time.
Format: SLEEP [options] time
Option: Option indicator (-) followed by one or more of
the following characters:
@ = Sleep until a given time (default: now).
? = Display help message.
Time: @time:
HH:MM (in 24 hour format).
Pause time:
positive whole number of seconds less than 999.
Type: Internal External
***
Remarks: When @ options not used, parameter must contains
the number of seconds to sleep (pause).
Computer is not usable while sleeping.
This command may be used us a filter but will not
pass file prefix information.
Keyboard entry is terminated by a <CTRL-Z>.
Returns error code of 0 if all succeed, 1 if errors.
SLEEP
Examples: (1) Sleep for 20 seconds when run a program:
SLEEP 20 | program-name
(2) Run a program at 10:15pm: (see cmd command)
SLEEP -@ 22:15 | program-name
STAT (Statistics of a Text File)
Command / Filter
-------------------------------------------------------------------
Purpose: Produces a separate report, to STDOUT, for one or more
text files. Report consists of the following:
total number of lines
total number of words
total number of characters
total number of printable characters
total number of control characters
total number of alpha characters
total number of digit characters
average number of words per line
maximum number of words per line
average number of characters per line
maximum number of characters per line
If a search character is specified, the total number
found will be included.
Format: STAT [options] [search-character] [file-list]
Option: Option indicator (-) followed by one or more of
the following characters:
C = Continue on minor errors.
P = Prefix each file (for piping).
S = Count SEARCH-CHARACTER.
? = Display help message.
Search-Character:
Any single character to search for.
Special characters can be specified using a two
digit hex value preceded by a tilide ~ character.
Useful values: space = ~20 FF = ~0C
tab = ~09 ESC = ~1B
CR = ~0D LF = ~0A
File-List: One or more DOS file specifications or wild cards:
[disk][path][file-names][file-extensions]
STAT
Type: Internal External
***
Remarks: This command may be used us a filter but will not
pass file prefix information.
Returns error code of 0 if all succeed, 1 if errors.
Examples: (1) Produce statistics for the text file SAMPLE.TXT:
STAT SAMPLE.TXT
(2) Produce statistics for the files \SYS\FILE1,
\WP\*.DOC, and A:LETTER.*. Count all occurrences
of the comma character. Continue if any minor
errors occur:
STAT -cs , \SYS\FILE1 \WP\*.DOC A:LETTER.*
TEE
Filter
------------------------------------------------------------------
Purpose: Used in piping command strings to write pipe data to
one or more files as well as to STDOUT. Pipe data
must contain at least one file prefix.
Format: TEE [options] [out-file]
Options: Option indicator (-) followed by one or more of
the following characters:
A = Append data if file already exists.
F = Force output to OUT-FILE.
N = List file names.
O = Overwrite existing files.
T = Output text lines to STDOUT.
? = Display help message.
Out-File: One DOS file specification:
[disk][path]file-name.extension
Type: Internal External
***
Remarks: The O (overwrite) option will destroy the original
file(s) - so be careful! Create a backup or test
pipe commands before using this filter.
Unless the F (force) option is used, the command or
filter before the TEE must use the P (prefix) option.
The format of file prefixing is the hex character
FF followed by the file specification on the first
line.
TEE
Examples: (1) Produce a new file called SAMPLE.NEW from lines
2 and 30 through 45 of file called SAMPLE.TXT:
PRTL 2,30-45 SAMPLE.TXT | TEE -of SAMPLE.NEW
(note prefix (p) option not required here!)
(2) Rewrite a set of files, in the current directory
so that all duplicate line are removed. Suppress
output to the screen (STDOUT):
CAT *.TXT | UNIQ -p | TEE -o
(3) Edit a file, DIR.LST, to change any lines which
contain "DA" to "AD" and append the changed lines
to the end of the same file. Display all lines
on the screen (STDOUT):
SED -p G"DA"AD" DIR.LST | TEE -at
(4) Edit all files in the current directory to change
all ocurrences of CAT to DOG. Create a backup of
each file, in the directory \SAFETY, and overwrite
the original files. List each of the file names
to STDOUT:
LS | CP -f \SAFETY | SED -p G/CAT/DOG/ | TEE -o
TXLAT (Translate Characters)
Command / Filter
------------------------------------------------------------------
Purpose: Translates one or more individual characters of one or
more files and outputs the result to a specified file
or to STDOUT. Any character value (between hex value
00 and FF) can be used. A list of characters to be
translated (called the Search-List) and a list of
corresponding translations (called the Translate-List)
controls the translation action.
Format: TXLAT [options] [out-file] search-list translate-list
[file-list]
Options: Option indicator (-) followed by one or more of
the following characters:
C = Continue on minor errors.
D = Pipe data is text lines (default: file names).
F = Force output to OUT-FILE.
P = Prefix each file (for piping).
S = Suppress file list.
? = Display help message.
Out-File: One DOS file specification:
[disk][path]file-name.extension
Search-List:
Any list of single characters to search for. At
least one character must be present.
Translate-List:
Any list of single characters to replace the
corresponding character (by position) in the Search
List. At least one character must be present.
File-List: One or more DOS file specifications or wild cards:
[disk][path][file-names][file-extensions]
TXLAT
Type: Internal External
***
Remarks: Both the SEARCH-LIST and the TRANSLATE-LIST must
be present with at least one item in each list.
Special characters can be specified by entering a two
digit hex value preceded by a tilide ~ character.
Useful values: space = ~20 FF = ~0C
tab = ~09 ESC = ~1B
CR = ~0D LF = ~0A
Keyboard entry is terminated by a <CTRL-Z>.
Returns error code of 0 if all succeed, 1 if errors.
Examples: (1) Translate the characters "a" to "A" and "!" to
"#" in the file, SAMPLE.DOC:
TXLAT a! A# SAMPLE.DOC
(2) Translate all spaces in all files, in the
current directory, to form feeds. Overwrite the
original files and do not abort if minor errors
occur:
TXLAT -p ~20 ~0C *.* | TEE -o
(3) Translate all occurrences of a dollar sign ($),
in the file AMER.DOC, into a British Pound sign
and put the result in the file ENGLND.DOC:
LS AMER.DOC | TXLAT ~20 ~9C | TEE -f ENGLSH.DOC
- or -
TXLAT -f ENGLSH.DOC ~20 ~9C AMER.DOC
UNDEL (Retrieve a Deleted File)
Command
------------------------------------------------------------------
Purpose: Retrieves a deleted file provided the file has not
been over-written or damaged.
Format: UNDEL [options] target-file
Options: Option indicator (-) followed by one or more of
the following characters:
L = List cluster numbers.
P = Update primary FAT table only.
S = Select clusters manually by displaying first
sector of each available cluster.
T = Test - do not update disk.
? = Display help message.
Target-File:
One DOS file specification:
[disk][path]file-name.extension
Type: Internal External
***
Select Input:
Y = yes (select this cluster)
N = no (skip to next cluster)
E = end (keep any selected cluster)
A = abort (do not retrieve file)
UNDEL
Remarks: This Command can destroy all or part of your disk!
Make a complete backup before using this Command.
This Command can not retrieve a file that was over-
written or damaged.
If more than one file has been deleted, the chances
of recovery are slim. Try the S option or try to
recover each file in the reverse order of deletion.
The S (Select Manually) option can only help if the
TARGET-FILE is a text (ASCII) file. The E and N
inputs to the select prompt can be used to retrieve
parts of a file, but be sure to run the DOS CHKDSK
Command to clean things up if you use them.
Do not use this Command on non-standard disks.
DOS maintains two FAT tables (a list of where each
file is located on disk). As of DOS 3.1, the second
table is not used and thus can be used as a backup.
Should this second FAT table be used by future DOS
Commands, the P (Update Primary Only) option should
not be used.
Returns error code of 0 if all succeed, 1 if errors.
Examples: (1) Recover a deleted file called "LOST.HLP":
UNDEL LOST.HLP
(2) Recover a deleted file called "LOST.HLP" that
was at A:\WRK\SYS. Display all cluster numbers
used to restore the file:
UNDEL -l A:\WRK\SYS\LOST.HLP
(3) Recover a deleted file called "FIND.ME" but
manually select each cluster (section of the
file) and update only the primary FAT table:
UNDEL -ps FIND.ME
(4) Test if a deleted file called "GONE.S" could
be recovered but do not recover it yet:
UNDEL -tl GONE.S
UNIQ (Unique Text Lines)
Command / Filter
------------------------------------------------------------------
Purpose: Scans one or more files, individually, for duplicate
text lines. Duplicate lines (or non-duplicate lines)
are output to a file or STDOUT.
Format: UNIQ [options] [out-file] [skip] [file-list]
Options: Option indicator (-) followed by one or more of
the following characters:
C = Continue on minor errors.
D = Pipe data is text lines (default: file names).
F = Force output to OUT-FILE.
K = Number of characters to skip, on each line,
before starting comparison.
P = prefix each file (for piping)
S = Suppress file list.
X = Output only the duplicate lines.
? = Display help message.
Out-File: One DOS file specification:
[disk][path]file-name.extension
Skip: Positive whole number indicating which column to
start comparsion. Zero is first position.
File-List: One or more DOS file specifications or wild cards:
[disk][path][file-names][file-extensions]
Type: Internal External
***
UNIQ
Remarks: Duplicate text lines must follow each other. If in
doubt, use the DOS Sort filter prior to using this
command/filter.
Keyboard entry is terminated by a <CTRL-Z>.
Returns error code of 0 if all succeed, 1 if errors.
Examples: (1) Uniq (remove duplicate lines) from a file called
SAMPLE.DOC:
UNIQ SAMPLE.DOC
(2) Uniq two files, A.DOC and B.DOC, and overwrite
the results onto the original files:
SORT A.DOC | SORT B.DOC | UNIQ -p | TEE -o
(3) Uniq all files, in the current directory, which
have ".DOC" extensions and are older than August
24, 1985. Output only the duplicate lines and
continue minor error occur:
LS -d L24/08/85 *.* | UNIQ -xc
(4) Uniq duplicate lines in the file SAMPLE.DOC.
Ignore the first six characters of each line in
the comparsion:
UNIQ -k 6 SAMPLE.DOC
VOLM (View or Change Disk Volume Name)
Command
------------------------------------------------------------------
Purpose: View or change disk volume name.
Format: VOLM [options] [disk] [new-vol-name]
Options: Option indicator (-) followed by one or more of
the following characters:
W = Write NEW-VOL-NAME onto disk.
? = Display help message.
Disk: One DOS disk specification:
[disk]
NEW-VOL-NAME:
One DOS disk volume name [1 to 11 characters]
Type: Internal External
***
VOLM
Remarks: Duplicate of DOS 3.0 VOL Command.
Keyboard entry is terminated by a <CTRL-Z>.
Returns error code of 0 if all succeed, 1 if errors.
Examples: (1) Display volume name of disk A:
VOLM -d A:
(2) Change volume name of disk C:
VOLM -d C: NEW-NAME
WHEREIS (File Locator)
Command
------------------------------------------------------------------
Purpose: Outputs, to STDOUT, all disk and directory paths which
match one or more file names. Start directory and
disk can be specified.
Format: WHEREIS [options] [file-list]
Options: Option indicator (-) followed by one or more of
the following characters:
? = Display help message.
File-List: One or more DOS file specifications or wild cards:
[disk][path][file-names][file-extensions]
Type: Internal External
***
Remarks: Search begins at the current directory on the
current disk and progresses forward.
If a path is specified, the search will start from
that point forward. If a disk is specified, only
that disk will searched.
Keyboard entry is terminated by a <CTRL-Z>.
Returns error code of 0 if all succeed, 1 if errors.
WHEREIS
Examples: (1) Search for all occurances of the file "FIND.ME".
Start from current directory on the current disk:
WHEREIS FIND.ME
(2) Find all occurances of any file with a ".ME"
extension. Search entire disk:
WHEREIS \*.ME
(3) Find all occurances of a file "SAMPLE.C" and all
occurances of any file matching a file spec of
"TEST??.*". Start search for SAMPLE.C from the
directory "\BIN\SYS" and search all directories
for TEST??.*:
WHEREIS \BIN\SYS\SAMPLE.C \TEST??.*
DOS EXTENSIONS
USER GUIDE
Copyright (c) 1985, 1986
Daryll Shatz
Box 3282
Redondo Beach, Ca 90277
This document contains information which is the property of the
copyright owner. It shall not be used or duplicated, in whole or
in part, in any manner without expressed written permission of
the copyright owner.
This program is provided on an "as is" basis without warranty
of any kind, expressed or implied, including but not limited to
the implied warranties of merchantability and fitness for a
particular purpose. The entire risk as to quality and
performance of this program is with you. Should the program
prove defective, you assume the entire cost of all necessary
repair, servicing, or correction. In no event will the author be
liable to you for any damages, including any lost profits, lost
savings, or other incidental or consequential damages arising out
of the use or inability to use this program.
DOS EXTENSIONS
Table of Contents
Limited USE and Distribution License A
User-Supported Software B
How To Become a Registered User C
Introduction 1
Installation Guide 2
DOS Basics 5
DOS Execution Cycle 6
DOS Functions 7
Using DOS Commands 8
DOS Filters 9
Using DOS Filters 10
Creating New DOS Commands 11
DOS Switches 12
DOS Options 13
Prefixing 14
Group Specifiers 15
Getting Started 16
General Comments 20
Acknowledgments 21
DOS EXTENSIONS
Limited USE and Distribution License:
_______________________________ , hereafter called "The User",
is hereby granted a limited license to use, on a private non-
commercial basis, the DOS EXTENSIONS Package, hereafter called
"The Package".
The User of The Package is hereby granted a limited license to
distribute copies of The Package so long as each copy is whole
and complete with respect to the original.
This limited license expressly forbids any distribution of any
part of The Package in modified form.
The User acknowledges to have read this agreement and the copy-
right notice contained herein, and to understanding it, and
agrees to be bound by its terms and conditions.
Entered into this: ______ day of ________________ , 19____.
Licensee's Address: _________________________________________
_________________________________________
_________________________________________
Please return a copy of this license to:
Daryll Shatz / DOS EXTENSIONS
Box 3282, Redondo Beach, Cal 90277
DOS EXTENSIONS
User-Supported Software:
This package is being distributed on a User-Supported basis.
The authors receive their compensation from the contributions
of those who use this package.
User-Supported software is a method of distributing computer
programs and is often attributed to Andrew Fluegelman. It is
based on three principles:
First, that the value and utility of software is best assessed
by each user on his/her own system.
Second, that independent personal computer software can and
should be supported by each user and the computing community.
Finally, that copying of programs should be encouraged, rather
than restricted. The ease with which software can be distributed
outside traditional commercial channels reflects the strength,
rather than the weakness, of electronic information.
Regardless of whether a contribution is made or not, each user
is encouraged to distribute this package to others as prescribed
by the Limited Use and Distribution License contained in this
document. Payment for use is discretionary on the part of each
subsequent user.
The suggested contribution for release 2.0 of DOS EXTENSIONS
is $35.00 for non-registered users.
DOS EXTENSIONS
How To Become a Registered User:
Any user can become a registered user by submitting a signed
copy of the Limited Use and Distribution License together
with the registration fee.
The registration fee for release 2.0 is $55. ($20 if the user
has made a contribution of $35 or more.)
Registered users will receive the following additional items:
- User ID number
- An IBM style printed Reference Manual
- One year free updates and bug fixes
(subject to copy fee charge)
- One year free of the "EXTENSIONS" newsletter
- Option to purchase source code (when available)
Being a registered user is not required to use this package.
DOS EXTENSIONS
Introduction:
More and more people are using computers to assist them in their
daily lives. And, as people become comfortable with computers,
they desire to do more work on their computers.
This desire to be more productive is hampered by the fact that most
micro-computers are supplied with only a basic set of operating
commands. Having a limited set of commands is fine for a first time
computer user but quickly becomes a problem to a user who has even
a little expertise. This problem is what the DOS EXTENSIONS
package attempts to solve.
The DOS EXTENSIONS package has been designed to enhance the features
and flexibility of your MS-DOS or PC-DOS (2.1 or above) operating
system. It does this by adding over twenty new commands to your
existing MS-DOS or PC-DOS software. Nothing in your original
software is changed so you can continue use all your original DOS
commands.
With DOS EXTENSIONS added to your computer, you can perform new
capabilities, eliminate redundant commands, do more work in less
time, and gain greater control over your computer.
This manual assumes that you understand the basic commands of your
operating system. If you do not, please read your DOS manual
before utilizing this package.
DOS EXTENSIONS
Installation Guide:
The DOS EXTENSIONS package comes with several programs residing
on one floppy disk. The procedures you will follow, below, simply
makes a copy of each program onto your DOS SYSTEM disk(1). After
you have made a copy of these programs, you can use them as if
they where any other DOS commands.
If you are not familiar with the standard DOS
COPY command, please refer to your DOS manual
before preceding any further.
If you wish to copy only selected DOS EXTENSIONS, refer to your
DOS manual for the correct single file copy method (2).
The following pages describe two step by step installation
procedures; one for floppy disk based computers and one for hard
disk based computers.
(1) The DOS SYSTEM disk is the disk that contains all your the DOS
Command files (COPY.COM, TREE.COM, MODE.COM, COMP.COM, etc.).
(2) Space limitations on your SYSTEM disk may dictate that you
remove some DOS files and/or copy only selected DOS EXTENSIONS.
Please refer to your DOS manual on how to delete a program or
how to create a second SYSTEM diskette which contains only the
files you wish to use.
DOS EXTENSIONS
Installation Guide (cont)
Follow these steps if you have a floppy disk based system:
STEP 1:
Bring up your computer (boot) as you normally would and then
place the DOS EXTENSIONS diskette into the second disk drive.
STEP 2:
Replace your BOOT diskette with your SYSTEM diskette (if they
are not the same diskette).
Assuming your SYSTEM diskette is in disk drive A: and the
DOS EXTENSIONS diskette is in disk drive B:, type the
following command to DOS:
COPY B:*.EXE A:
= OR =
COPY B:(filename that you want goes here) A:
STEP 3:
Remove the DOS EXTENSIONS diskette and store it in a safe
place. You should never use this diskette except to make
a backup or to reinstall it's programs onto some other disk.
STEP 4:
Insert the DOS EXTENSIONS Reference Manual pages into your
DOS Manual. The Reference pages are designed to integrate
into your existing DOS Manual.
DOS EXTENSIONS
Installation Guide (cont)
Follow these steps if you have a hard disk based system:
STEP 1:
Bring up your computer (boot) as you normally would and then
place the DOS EXTENSIONS diskette into the floppy disk drive.
STEP 2:
Assuming your SYSTEM disk (hard disk) is disk drive C: and
the DOS EXTENSIONS diskette is in disk drive A:, type the
following command to DOS:
CD (path where you how have all the DOS command files)
COPY A:*.* C:
= OR =
COPY A:(filename that you want goes here) C:
STEP 3:
Remove the DOS EXTENSIONS diskette and store it in a safe
place. You should never use this diskette except to make
a backup or to reinstall it's programs onto some other disk.
STEP 4:
Insert the DOS EXTENSIONS Reference Manual pages into your
DOS Manual. The Reference pages are designed to integrate
into your existing DOS Manual.
DOS EXTENSIONS
DOS Basics:
How that you have the DOS EXTENSION files on your SYSTEM disk, let's
take at look at how DOS works and how your new programs can be
used.
The computer needs some way of communicating with you. Most
computer designers accomplish this "interface" by supplying a
software program called an OS (for Operating System) which serves
as a translator between your computer and you. Since most computer
systems run off a disk drive, the operating system software is
usually call DOS (for Disk Operating System). MS/DOS and PC-DOS
(hereafter referred to as DOS) are both disk based Operating Systems.
DOS has three main functions in life: providing an interface with
you, controlling your computer's resources (memory, disk space,
etc.), and executing your requests.
DOS interfaces (communicates) with you by accepting input from the
keyboard and by returning some result to an output device (usually
the screen or printer). You should already be familiar with this
aspects of DOS.
DOS controls your computer's resources by performing many hidden
housekeeping tasks such as maintaining various tables and handling
Interrupts. Luckily, understanding any of these aspects of DOS is
NOT required.
The last aspects of DOS, executing commands, holds the most interest
for us. DOS executes your requests in a three step process: getting
and interpiding the request, finding and loading the software
necessary to fulfill the request, and finally transferring control to
that software.
DOS EXTENSIONS
DOS Execution Cycle:
Lets look at this three step process, of how DOS executes your
request, a little closer.
DOS spends most of it's time waiting for a request, from you, to
do some activity. The activity can be to run a program such as a
game or an account package, or it can be a call to a DOS function
like the COPY command or MKDIR command. DOS functions are really
just software programs like games or business packages. The only
difference is that DOS functions are programmed to work on/with
other programs.
As soon as you type a request on the keyboard, DOS initiates the
execution cycle which first tries to decide if your request was to
run a program or to perform a DOS function.
If you want to run a program, DOS attempts to locate a file on disk
with the name of the program.
If you want to perform a DOS function, DOS has to first decide
whether or not it is a built-in function(1) or whether it resides
on disk(2). If the function is a built-in function, DOS simply
transfers control to a part of itself. If the function resides on
disk, DOS attempts to locate a file on disk with the name of the
function.
This is how the DOS EXTENSIONS package adds
itself to DOS.
Once DOS has located the software it needs, it loads the software
into the computer's memory (sometimes called RAM). A lot goes on
here but we need not be concerned about the details.
Assuming all has gone well to this point, DOS transfers control
of the computer over to the software just loaded. Of course this
software may call upon DOS to perform various chores after it
receives control, but that is not our concern here.
(1) Indicated in the DOS manual as Internal.
(2) Indicated in the DOS manual as External.
DOS EXTENSIONS
DOS Functions:
Now that you have a basic idea of how DOS executes your requests,
let's address what a DOS function is.
DOS comes "out of the box" with several basic programs (called
Commands) to handle the primary tasks of your computer. Some of
these tasks include copying files, listing directories, formatting
disks, and setting system parameters. Look in your DOS manual for
a complete list of the commands (functions) that came with your DOS
package.
Some DOS Commands are designed to be used with other DOS Commands.
These commands are called DOS Filters. Some DOS Commands can be
used with or without other DOS Commands. These commands are called
DOS Command/Filters. The important thing to remember is that they
are all still DOS Commands although some may have a second name.
The term Filter is also used to express whether or not a DOS
Command is being used with other DOS Commands to perform a task.
This is important to know because you may see a DOS Command, that
was not designated as a Filter, being used as a Filter. It is
also important to know that the verse is true as well.
DOS EXTENSIONS
Using DOS Commands:
DOS Commands and Filters are easy to use. You have already used many
of them several times by now. Although you should consult your DOS
manual for details, the basic idea in executing a DOS Command (or a
DOS Filter used by itself) is to just type in it's name and any
required parameters that it needs.
Let's do an example. Let's request your computer to list all the
files and subdirectories (if any) in your ROOT directory.
type: CD \ This requests DOS to locate and then
execute the DOS Command called CD
(change current directory). Note
that the backslash (\) is a parameter
to the CD command. It tells CD which
directory to change to (ROOT in this
case).
type: DIR *.* This requests DOS to locate and then
execute the DOS Command called DIR
(list directory files). Note the *.*
parameter which informs DIR that you
want all files.
Your computer should respond with a list of files and subdirectories
if any.
Notice that we didn't care if the DOS function was a DOS Command or
a Filter. This is because all DOS functions are Commands when used
by themselves.
Using DOS Commands (or Filters by themselves) is simply a matter of
typing the DOS function's name (CD or DIR in the example above)
followed by any information that may be required by the function
(the backslash or *.* in the example above).
DOS EXTENSIONS
DOS Filters:
For basic operations, using DOS Commands by themselves is all that is
needed. But as you become more comfortable with DOS, and try to
tackle more work, you will soon need to handle difficult situations
where single line DOS Commands are to cumbersome.
Luckily, DOS has a solution to this problem. It's called Piping or
Pipes. This is a built-in feature which allows you to connect the
output of one DOS Filter to the input of another DOS Filter and so
forth. This powerful ability can be used to string together multiple
DOS Filters to form new commands.
The DOS EXTENSIONS package takes advantage
of this DOS feature. This is why most of
the package is composed of Command/Filters.
Piping is simply a method whereby DOS redirects the output of
one DOS function into the input of another DOS function. This
redirection can continue to more DOS functions. Each DOS function
performs its usual task, such as sorting or file handling, and then
passes it's result onto the next DOS function. The net result is
as if you had run one DOS Command which performed all the
individual DOS functions.
DOS EXTENSIONS
Using DOS Filters:
Remembering that DOS Filters are still DOS Commands, using them in
Pipes is simply a matter of learning how to connect them together.
Again you should consult your DOS manual for details.
The basic idea in connecting DOS Filters together is just typing
the names and parameters of each DOS Filter in the order that you
require them to be run. DOS requires you to separate each DOS
Filter by a vertical bar character (|).
Let's do an example. Let's request your computer to list all the
files and subdirectories (if any) in your ROOT directory. This
is the same example as before, but this time let's sort the output:
type: CD \
type: DIR *.* | SORT
Your computer should respond with an alphabetical list of files and
subdirectories if any.
There are three DOS Commands in this example - CD, DIR, and SORT.
The first DOS Command (CD) performs the same function as before - it
changes the current working directory to the ROOT directory. The
second DOS Command (DIR) also perform the same function as before -
listing all files and subdirectories of ROOT. But this time the
output of DIR is redirected from the screen to the input of the third
DOS Command (SORT - a Filter). It is the output of SORT which is
displayed on the screen.
It is important that you realize that you could not have just typed
these three DOS Commands in separately. If you did, the SORT Command
would not know what to sort since it needs input from something.
Although this was a simple example it illustrates how multiple DOS
functions can be combined to perform a task which one DOS function
could not do alone.
Using DOS Piping is no more complex than using a series of single
line DOS Commands. The only trick is to plan out what you want to
accomplish and then type in the correct order of DOS functions (and
their parameters) which will each perform a part of your task. It
is also important to remember to separate each DOS function (and
it's parameters) from each other with a vertical bar character.
DOS EXTENSIONS
Creating New DOS Commands:
If you understand the concept of DOS Piping you should understand
how you can create new DOS Commands(1) by combining existing DOS
functions. What may be puzzling is how to save your new creations
so that you can use them in the future. DOS has an answer to this
question. Its called Batch Files.
Whenever DOS is asked to run a program which has a file extension
of ".BAT", DOS assumes that this file contains one or more lines
of DOS Commands (or DOS Pipe Commands). DOS loads the lines into
memory an attempts to execute each line (whether or not the line
contains anything useable).
This is good news. Let's see how we can use this by creating a new
DOS Command, called DIRSRT, to display a sorted directory list as
per our last example.
All we need to do is to type the last line of the last example
"DIR *.* | SORT" into a file called "DIRSRT.BAT". You can use
any text editor to do this or you can type it in directly by using
the DOS Command COPY Command(2). Once the file is created, all
you need to do to produce a sorted directory listing is type the
name of the batch file; "DIRSRT.BAT"(3).
As you can see, batch files are a DOS feature that you should get
to know. And the best way to learn about it is by reading your
friendly DOS manual. There you will find all the options and
features of the batch files facility.
(1) It is more correct to use DOS Command than DOS function. This
is because batch files can not be used as DOS Filters, which
are included in the definition of a DOS function.
(2) Refer to you DOS manual for details on using this technique.
(3) Or just type "DIRSRT" if no other file by that name exists. In
this simple example only the current directory could locate the
batch file. Your DOS manual explains how you can access a
batch file from any directory.
DOS EXTENSIONS
DOS Switches:
If you look through you DOS manual you'll notice that several of
the DOS Commands have optional features which change what or how
the command performs. These features are called Switches.
Switches let you alter the normal behavior of a command. Look at
the COPY Command pages in your DOS manual. It indicates that there
are three Switches, /A, /B, and /V (your DOS may vary). The "/A"
Switch alters the COPY Command such that it will produce something
called ASCII files. The "/B" Switch alters the COPY Command such
that it will produce something called Binary files. The "/V" Switch
alters the COPY Command such that it will verify each file that it
creates; something it normally does not do.
Another thing that is indicated, on these pages, is that each
Switch can be used several times within a COPY Command as if it
were a light switch being turned ON and OFF.
DOS Switches, then, are a way of turning ON and OFF temporary
adjustments to a DOS function (while the function is being used).
The DOS EXTENSIONS use a feature called Options which are used
instead of Switches.
DOS EXTENSIONS
DOS Options:
DOS Switches are very handy as they allow you to customize a
particular DOS function went need. Their use, though, can be a
bit cumbersome and messy. The DOS EXTENSIONS package uses a
different feature, called Options, which provide similar
functionality.
Options are temporary changes to a DOS function, just like Switches,
but they can not be switched ON and OFF once the command starts.
Now look at the CP Command pages. This Command, like all of the
other DOS EXTENSIONS, uses the Options format to alter the behavior
of the command.
The CP command has eight Options (A, C, E, F, P, S, T, and ?). A
few examples are the C Option which causes the CP command to continue
if any minor errors occur, and the E Option which prevents the CP
command from overwriting files that already exist.
Unlike DOS Switches, Options must follow the name of the DOS function
and start with an Option Indicator (a dash character). There can be
any number of Options specified after the Option Indicator but only
one list is allowed.
Also, unlike DOS Switches, Options themselves may require parameters
which follow the list of Options(1). The Option parameters follow in
the order of how you typed in the Options. Each Option parameter is
separated by white space(2).
The best illustrations of Options are the examples listed with each
DOS EXTENSION reference page.
(1) One example is the PRNT Command which uses the F (Force output
a file) Option. The Options needs a parameter which names the
file to output to.
(2) White Space is a computer term meaning any number of non-printing
characters. Examples include spaces, tabs, LF, etc.
DOS EXTENSIONS
Prefixing:
The DOS EXTENSIONS package uses a technique called Prefixing. This
technique is required whenever data from multiple files is being
sent through a pipe. If Prefixing was not available, receiving DOS
Filters could not differentiate what data when with what files.
The correct manner to use Prefixing is to include the P (Prefix)
Options in the DOS EXTENSION immediately preceding the function
which uses Prefixing (such as TEE).
Non DOS EXTENSION functions can simulate Prefixing by adding a
Prefix Header before all data lines. A Prefix Header is composed
of a hexadecimal FF byte followed by the full file specification.
The Prefix Header must be the first line of the datum.
Version 1.2 - The only function which can
utilize Prefixing is the TEE function.
DOS EXTENSIONS
Group Specifiers:
The DOS EXTENSIONS package adds a new dimension to DOS functions
by introducing Group Specifiers.
Group Specifiers allow many of the DOS EXTENSIONS to accept multiple
file specifications, each of which can contain a file name and/or
DOS wild cards. This exclusive feature greatly reduces redundant
commands.
This feature is best understood via an example. Let's copy the
files below to drive B: using the COPY Command and then the CP
Command:
all files with a ".BAT" extension
any files starting with the character A
the file SAMPLE.TST
The COPY Command requires three separate commands to succeed:
COPY *.BAT B:
COPY A*.* B:
COPY SAMPLE.TST B:
The DOS EXTENSION CP Command requires only one command to succeed:
CP *.BAT A*.* SAMPLE.TST B:
DOS EXTENSIONS
Getting Started:
If you have read and understood the preceding pages, it is time
to apply what you have learned.
The DOS EXTENSIONS package has several Commands which are intended
to replace equivalent DOS Commands. These new Commands offer you
all the features of the originals plus many new features. Let's
start by studying these Commands first.
Make a complete backup of your files
before experimenting with these new
commands.
The LS (List Directory) Command is intended to be used whenever you
would use the DOS DIR Command. This Command is very powerful because
it allows you to specify multiple selection criterion when trying to
locate one or more file or subdirectory names. In addition, the
output of the LS Command can be piped into many other Commands to add
greater control over which files they process.
Find the LS Reference pages. You should have inserted them into your
DOS manual. Look at LS Command example #3. This example shows that
LS has four parts to it's format. The Command's name (LS). A list
of Options (Option A in this case, which tells LS to test all files
for a particular file attribute value). A white spaced separated
list of Option parameters (number 21 in this case, which supplies a
value to Option A). And a file list (^[R-T] in this case,
which tells the LS Command to only consider files which have file
names in which the first character is either an R, an S, or a T).
Look closely at the Format description of the LS Command page. It
shows the same four parts to the command. Notice that only the
name (LS) is required for this Command to work(1).
Now look closely at the Options description. It describes what
options (the single letters) the LS Command will recognize. The
first Option listed is the A Option. Read some of the others and
then see if you can apply them to some of the other LS examples.
(1) This is because all the other parts are optional, as shown by
the surrounding [] symbols.
DOS EXTENSIONS
Getting Started (cont):
Next, look closely at the Parameters description. This section
describes what each Option needs and the format to use. The D
(Date) Option, for example, needs an L, an E, or a G followed by
a date value. The date value consists of one or two digits for
the month, a forward slash character, one or two digits for the
day, a forward slash character again, and finally upto four digits
for the year. Look at LS example #4 to see how the D Option can
be used.
Finally, look at the File-List description. This section describes
what can be used to specify which files to work with. Notice the
description of the Wild Cards. These are characters with special
meaning to LS when used in this part of the command. Here is where
we find the meaning of the funny ^ and [] characters.
Using the LS Reference pages, take some time to experiment on your
own. Try listing directories on your own computer. Try each
Options. You should be able to understand all the LS examples
before you continue on (at least the LS parts of the examples).
The DOS EXTENSION package also has Commands which can replace the
original DOS Commands RENAME, COPY, DELETE (ERASE), and FIND. Let's
look at the CP Command which can replace DOS COPY.
The DOS COPY Command is intended to be used when you need to make a
copy of one or more files. With the COPY Command you can
concatenate files, rename the result copies, and span directories.
The CP Command also handles these functions (file concatenation
must be done with the CAT Command) and adds the ability of Group
Specifiers to control which files are acted on.
Look closely at the CP Reference pages. The Format description
indicates that CP has two required parts and two optional parts.
The first required part is the command name (CP). This is always
required.
The second required part is the TO specification which tells CP
where to put the copy (or copies). A review of the To description
shows that any standard DOS file specification can go here. This
is equivalent to the target file parameter in the DOS COPY Command.
Notice that CP example #5 shows that even if the From-List is piped
into CP, CP still needs a To specification.
DOS EXTENSIONS
Getting Started (cont):
The first optional part is a list of Options for CP. The Options
section details the Options available to CP. Take a look at these.
You can prevent overwriting existing files and choose whether the
From file(s) or the To file(s) are displayed.
The second optional part, of the CP Command, is a Group Specifier,
called the From-List. This is analogous to the DOS COPY source
file parameter except that multiple DOS file specifications, each
separated by white space, can be used. CP example #1 shows this
well.
Using the CP Reference pages, take some time to experiment on your
own. Try copying files on your own computer. Try each Option.
When you understand the CP Command try to figure out example #5 of
the LS example. It illustrates how the LS Command can output a
selected list of file names into another command, such as the CP
Command. This is an example of piping. Also notice how the output
from the CP Command (list of the From file names) is fed into the
ATT command. This is a good example of how CP can be used as a
Filter.
RENM, RM, GPM, LS, and CP are the DOS EXTENSIONS intended to replace
their DOS counterparts. Read the Reference pages and experiment
with each these commands.
The DOS EXTENSIONS package contains five additional file handling
commands: MV, ATT, CAT, SRTDIR, WHEREIS. These commands provide
additional capabilities while working on/with your files. Read
their Reference pages and experiment with each of them.
Task control commands are also include in the DOS EXTENSIONS
package. These three commands, SLEEP, CMD, and CLK are useful
when you need to control or time the execution of DOS Commands or
programs. Try some of the example shown on their Reference pages.
DOS EXTENSIONS
Getting Started (cont)
If you write programs or have the need to change existing ones,
take a close look at the four file editing commands: SED, TXLAT,
UNIQ, and MERGE. These powerful commands can be used to edit
multiple items among multiple files. They can become a real time
saver. Study them well and make sure you try each of SED's edit
commands. These commands soon become a programmer's companion
when fully mastered.
There are four miscellaneous DOS EXTENSION commands: ALARM, PRNT,
STAT, and SELECT. ALARM simply produces a tone under your control.
PRNT outputs selected lines from files. STAT provides a useful
statistical report for text files. Select is a unique Filter which
allows you to select among input choices. Select offers you a
method to make all your DOS file handling commands more friendly.
The DOS EXTENSIONS package provides two commands to enhance piping:
INP and TEE. These two commands are used to start and end a pipe.
Review these two commands after you thoroughly understand all the
other commands.
The key to learning these new commands is to first experiment with
each one and then to remember to use them whenever the situation
arises.
DOS EXTENSIONS
General Comments:
Version 1.2 attempts to provide a prompt when a Command is ready
for keyboard input. However, since the first Command of a pipe
can not always tell if it's input stream is comming from the keyboard
or a pipe, the prompt may not be given.
You can always tell when to start keyboard input (when no prompt
is given) by observing your disk drives. Keyboard input can begin
after your disk drive activity stops; which indicates that a command
is waiting for input.
Any comments regarding throughput, we feel, should be directed to
the designers of DOS. We had to "work around" several DOS "design
features" which greatly impacted performance.
The authors welcome any constructive comments and suggestions and
look forward toward adding to, as well as improving, this package.
DOS EXTENSIONS
Acknowledgments:
The following software products were used in the design and/or
production of DOS EXTENSIONS. Both the companies and their
products provided us with outstanding service.
MWC86 Compiler by Mark Williams Company,
Chicago Illinois
The C Utility Library by Essential Software, Inc.,
Maplewood, New Jersey.
The following trademarks are referred to within this User Guide:
MS-DOS which is a trademark of MicroSoft, Inc.
PC-DOS which is a trademark of IBM Corp.
Volume in drive A has no label
Directory of A:\
FILES585 TXT 859 8-16-86 3:47p
GO BAT 334 1-03-80 4:32a
LS EXE 19393 6-10-86 9:04p
NOTES585 TXT 2837 1-03-80 4:18a
REF DOC 58422 6-07-86 6:59p
USER DOC 35525 6-09-86 11:05p
6 file(s) 117370 bytes
41472 bytes free