Contents of the CONCOPY.DOC file
CONCOPY is a simple program that copies to a disk file any data
that is sent to DOS's CONsole device, which is normally the
screen. It is similar in concept to redirecting program output
to a disk file, except that (1) it continues to work until you
end it, and (2) you can still see the data being sent to the
screen. Thus, you can work interactively while CONCOPY is
active, yet still maintain a disk record of screen activity.
| marks changes in recent versions.
To start copying console output to a file, just type
| CONCOPY [d:][path]file[.ext] [command]
The optional [command] is discussed in the next section.
Normal usage is quite simple; for example, the command
will copy screen output to a disk file called SCREEN.DAT in
directory C:\TEMP. CONCOPY opens the disk file and executes a
secondary copy of your command processor (normally COMMAND.COM);
you'll see the DOS logo and a DOS prompt. You can then execute
as many DOS programs and commands as you wish, run batch files,
use standard redirection, etc.; anything sent to the console
(with limits as described below) will be copied to the disk
If the specified disk file already exists, the new data will be
appended to it.
To terminate CONCOPY, type EXIT at the DOS prompt.
| Executing specific commands
| If you specify a command on the CONCOPY command line, CONCOPY
| will have COMMAND.COM execute that command rather than display a
| DOS prompt. You won't see the DOS logo or prompt, and you won't
| have to type EXIT to terminate CONCOPY. For example:
| CONCOPY screen.dat someprog
| In this case, CONCOPY will have DOS run SOMEPROG and will record
| all of its screen activity in SCREEN.DAT. As soon as SOMEPROG
| ends, CONCOPY will also be terminated.
| Note in particular that the command can be a batch file. If you
| have a batch file called BIGBAT.BAT:
| CONCOPY screen.dat bigbat
| CONCOPY will run BIGBAT.BAT for you and record all screen
| The use of specific commands allows you to automate the process
| of capturing screen data if it's necessary for you to do this on
| a regular basis.
What gets copied to disk
CONCOPY will capture any data sent to the console device using
standard DOS services. Both STDOUT (file handle 1) and STDERR
(file handle 2) are captured. Like DOS's output redirection,
data written directly to the screen by using BIOS services or by
accessing screen memory will not be copied to the file. The
general rule is, if output redirection won't work, then CONCOPY
Note that CONCOPY will, however, capture data that has been
redirected away from the screen. For example, if you run a
command such as
dir > dir.txt
you won't see a screen display of the directory (it's sent to
the disk file DIR.TXT), but CONCOPY will capture it anyway.
CONCOPY may not capture data sent to the console if the
application explicitly opens a file called CON (rather than
using standard file handle 1). For example, if you run some
versions of the Microsoft Macro Assembler (MASM) with the
MASM will explicitly open the CON device for your list file
(it's not smart enough to figure out that it already has an open
device named CON). CONCOPY will not capture this.
If any of your programs use ANSI escape sequences to control the
screen, these control sequences will copied into the file. If
you later TYPE the file, the sequences will be re-interpreted by
ANSI.SYS, duplicating the original effects (screen clearing,
color changes, cursor movement, etc.). However, if you use a
non-ANSI technique to look at the file (text editors, LIST,
etc.), you'll see odd character sequences mixed in with the
text. Likewise, printing the file may present problems, because
your printer may try to interpret the ANSI sequences as its own
Because CONCOPY captures STDERR, the "error" output device, it
will often capture the error messages from compilers,
assemblers, and the like. Data sent to STDERR can't be
redirected to a file, so these messages can't be easily captured
without CONCOPY or some other external utility.
The output file
The file to which the screen data is being copied is
continuously open while CONCOPY is running (this avoids the
overhead of continuously open and closing the file). DO NOT TRY
TO MANIPULATE OR EXAMINE THE FILE WHILE CONCOPY IS ACTIVE! No
damage will be done to your system, but the results can be
bizarre. For example:
This is a "strange loop" that would make Douglas Hofstadter
proud. The output from DIR and CHKDSK is captured to
SCREEN.DAT. SCREEN.DAT is then TYPEd, and the output from that
TYPE command is copied into SCREEN.DAT. In effect, SCREEN.DAT
swallows itself, and SCREEN.DAT changes in size while it is
being TYPEd. As it turns out, DOS handles this situation with
remarkable aplomb, but I wouldn't count on this always being
Deleting the CONCOPY file while CONCOPY is active is a bad idea.
While CONCOPY is active, it is using a bit more than 2K of
memory for itself. COMMAND.COM will use an additional 3 or 4K;
thus, your applications will have about 7K less memory to work
CONCOPY is also using one of the available file handles.
It should go without saying that your system will run more
slowly while CONCOPY is active.
Version 1.10 - 10/11/88
Allow specific commands
Version 1.01 - 7/26/88
Captures output sent to STDERR
Version 1.00 - 7/20/88
First public release
This document and the program file CONCOPY.EXE ("the software")
are copyrighted by the author. The copyright owner hereby
licenses you to: use the software; make as many copies of the
program and documentation as you wish; give such copies to
anyone; and distribute the software and documentation via
electronic means. There is no charge for any of the above.
However, you are specifically prohibited from charging, or
requesting donations, for any such copies, however made; and
from distributing the software and/or documentation with
commercial products without prior written permission. An
exception is granted to not-for-profit user's groups, which are
authorized to charge a small fee (not to exceed $7) for
materials, handling, postage, and general overhead. NO
FOR-PROFIT ORGANIZATION IS AUTHORIZED TO CHARGE ANY AMOUNT FOR
DISTRIBUTION OF COPIES OF THE SOFTWARE OR DOCUMENTATION, OR TO
INCLUDE COPIES OF THE SOFTWARE OR DOCUMENTATION WITH SALES OF
THEIR OWN PRODUCTS.
THIS INCLUDES A SPECIFIC PROHIBITION AGAINST FOR-PROFIT
ORGANIZATIONS DISTRIBUTING THE SOFTWARE, EITHER ALONE OR WITH
OTHER SOFTWARE, AND CHARGING A "HANDLING" OR "MATERIALS" FEE OR
ANY OTHER SUCH FEE FOR THE DISTRIBUTION. NO FOR-PROFIT
ORGANIZATION IS AUTHORIZED TO INCLUDE THE SOFTWARE ON ANY MEDIA
FOR WHICH MONEY IS CHARGED.
There is no restriction on the use of this software in
commercial or institutional environments.
No copy of the software may be distributed or given away without
this document; and this notice must not be removed.
There is no warranty of any kind, and the copyright owner is not
liable for damages of any kind. By using this free software,
you agree to this.
The software and documentation are:
Copyright (C) 1988 by
Christopher J. Dunford
The Cove Software Group
P.O. Box 1072
Columbia, Maryland 21044
CompuServe 76703,2002 [IBMNET]