home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
High Voltage Shareware
/
high1.zip
/
high1
/
DIR2
/
ASET10.ZIP
/
README.TXT
< prev
Wrap
Text File
|
1993-05-06
|
30KB
|
674 lines
###### # # ####### ### # ##### #
# # # # # # # # # # #
# # # # # # # # # #
###### # # # # # ##### # #
# # # # # # # # #######
# # # # # # # # # #
# # ##### # ### ####### ##### #
(freeware)
Contents
--------
1 Introduction
2 Legal stuff
3 What is available?
4 Technical notes
5 The user interface
6 Source code availability
7 Credits
8 Revision history
9 How to contact me
1 Introduction
---------------
This software is a part of version 4 of Rickis little useful (?) DOS utilities.
After version 3 I decided to split them up and distribute the stuff in smaller
packages (mainly because the file became too big). If you have comments or
suggestions, please contact me. You find my address at the end of this
document.
All programs were programmed with Turbo Pascal 6.0 on a 286 AT compatible
machine using Norbert Juffas TURBO.TPL replacement, version TPL60N19. Each of
them is tested to a reasonable level of stability (I use them myself :-) ). If
you have problems, please contact me. I suppose you need at least DOS 3.x to
run everything successfully. RUTILS ran without problems on the following
platforms:
Original IBM AT 286, MS-DOS 3.3
AT 286-20 NEAT, AMI Bios, MS-DOS 3.3
AT 286-20 NEAT, AMI Bios, MS-DOS 5.0
AT 286-20 NEAT, AMI Bios, DR-DOS 6.0
AT 386 NEAT, AMI Bios (10/89), MS-DOS 5.0
AT 486, AMI Bios, MS-DOS 5.0
After RUTILS3 was out, several people kindly reported some bugs to me. There
were some which could be fixed immediately. One bug, however, was a bit harder
to find. Some debug sessions later I found that DR-DOS and MS-DOS are not as
compatible as they should be. This version has been tested with both MS-DOS and
DR-DOS. None of my TSRs caused any problems.
On PCs with a 80486 chip, it may happen that one of the programs crashes. This
has nothing to do with my software (at least I hope so :-)). The effect is that
the PC hangs and must be rebooted. If you start the program in a Windows DOS
box, a weird error message is displayed and the computer must be rebooted. If
you use the DOS DEBUG command to start the program, everything runs fine. What
makes me think that the problem has nothing to do with my software is the fact
that (a) I can fix the bug by simply adding some few bytes to the executable
(eg. by placing some additional spaces in a help screen) and (b) it occured
that a program crashed if it had been DIETed, and ran without being compressed
and for another program this behaviour could be observed in the opposite way.
If anyone has more information about that strange matter, please contact me.
The RUTILS package is intended for people who already have the basic knowledge
about DOS. You should know how to view and modify text files (if you read this,
you appearently know how to view them :-) ), how to redirect a programs output
to a file (and how to append it to the target file) and how to use the pipe
symbol '|'. I did not include a complete introduction to DOS in every DOC file.
For DCAT you must know how to put labels on diskettes, for ASET you must know
what shell variables are (and how to view and modify them), GENOUT will only be
useful if you program in a shell or in a programming language, and CHMOD
requires some knowledge about file attributes.
All the programs are a result of my hobby, not my profession.
2 Legal stuff
--------------
You are free to use this software if it is not modified in any way and if you
give it away for free. You may only charge a minimal fee to cover distribution
or diskette costs. The author disclaims all warranties as to this software,
whether express or implied, including without limitation any implied warranties
of merchantability, fitness for a particular purpose, functionality or data
integrity or protection. Phew.
For magazines, software distributors, sysops, ftp site administrators...
------------------------------------------------------------------------
If you spread the RUTILS4 software by placing it on a ftp site for public
access, or putting it on a diskette for a computer magazine, or making it
available in any other way for a large user group, you *must* inform me by
email (preferred) or mail. This will allow me to inform you if any substantial
modifications have been made since you got the package, and let me have an
overview on how the software has been spread. You don't have to register. You
don't have to pay. You only have to tell me.
3 What is available?
---------------------
The following table gives an overview over what's available and into which
categories it falls. Some of the programs are marked with (unix) to show that
they are (at least) similar to Unix commands.
+-----------------------------------------------------------------------------+
| Text file utilities |
+---+---------+---------------------------------------------------------------+
| 1 | CUT | Remove selected fields from each line of a file (unix) |
| 1 | DETAB | Change tabs to spaces in several files (unix: expand) |
| 1 | ENTAB | Change spaces to tabs in several files (unix: unexpand) |
| 1 | FMT | ASCII text formatter (unix) |
| 1 | HEAD | Show the first lines of a file (unix) |
| 1 | LOCASE | Change chars in several files from upper to lower case |
| 1 | MCOL | Arrange text in multiple columns |
| 1 | NODUP | Remove successive equal lines from files |
| 1 | TAIL | Show the last lines of a file (unix) |
| 1 | UPCASE | Change chars in several files from lower to upper case |
| 1 | WC | Count words, lines, and chars of several text files (unix) |
+---+---------+---------------------------------------------------------------+
| Arbitrary file utilities |
+---+---------+---------------------------------------------------------------+
| 2 | CAT | Append several outputs to stdout (unix) |
| 3 | FILE | File type guesser (unix) |
| 2 | HD | Display hex dumps of several files |
| 2 | STRINGS | Find printable strings in an object file or binary (unix) |
| 2 | TEE | Duplicate textual output to a file (unix) |
+---+---------+---------------------------------------------------------------+
| Directory utilities |
+---+---------+---------------------------------------------------------------+
| 4 | L | Display information about files and directories |
+---+---------+---------------------------------------------------------------+
| Programming utilities |
+---+---------+---------------------------------------------------------------+
| 5 | GENOUT | Generate program fragments for textual output |
+---+---------+---------------------------------------------------------------+
| Batch file utilities |
+---+---------+---------------------------------------------------------------+
| 6 | ASET | Enhanced SET command |
+---+---------+---------------------------------------------------------------+
| Miscellanous utilities |
+---+---------+---------------------------------------------------------------+
| 5 | BANNER | Display strings in huge letters (unix) |
| 5 | CAL | Display a calendar (unix) |
| 5 | CHMOD | Change the attributes of files (unix) |
| 7 | DCAT | Disk Cataloger |
| 5 | DCALC | Date Calculations |
| 5 | NCONV | Number conversion utility |
+-----------------------------------------------------------------------------+
The number in the above table stands for the following ZIP files, which can be
found at wsmr-simtel20.army.mil (192.88.110.20) in the directories listed
below --- At least I plan to place them there. Please check out simtels upload
lists for the current state.
+---+--------------+---------------+
| 1 | rtextu10.zip | msdos/txtutl |
| 2 | rfileu10.zip | msdos/filutl |
| 3 | file10.zip | msdos/filutl |
| 4 | l11.zip | msdos/dirutl |
| 5 | rpgmu10.zip | msdos/pgmutl |
| 6 | aset10.zip | msdos/batutl |
| 7 | dcat10.zip | msdos/catalog |
+---+--------------+---------------+
Each program comes with an uncompressed EXE file and a DOC file which contains
additional information. ASET comes with an additional Quick Reference. Each of
the above ZIP files contains a copy of this README file and a file DESC.BTM,
which is a 4DOS batch file DESCRIBEing the files contained in the ZIP file,
as well as a FILE_ID.DIZ description file.
Everything as one package can be ftp'd from ftp.informatik.rwth-aachen.de
(137.226.112.31) as pub/rutils40.zip. The EXE files in this compilation are
compressed with Teddy Matsumotos DIET compressor (see below).
4 Technical notes
------------------
I recommend you get the DIET144 package by Teddy Matsumoto to decrease the size
of the EXE files. RUTILS30 had been shipped with packed EXE files, but Keith
Peterson pointed out that this causes problems with virus checking. After you
checked all EXE files with all your favorite virus checkers, I recommend you
execute a DIET *.EXE command to pack them. I know that there are smaller
utilities than mine. They are usually written in C or Assembler, not in Turbo
Pascal. I do not plan to re-write the utilities in a different language. If my
stuff is too big for you, don't use it :-)
The following table gives an overview over the programs facilities.
+----------+---------+------+-----+----------+-----------+-----+--------------+
| Name | Default | Help | Dbg | Verbose | No Action | Rec | Special |
+----------+---------+------+-----+----------+-----------+-----+--------------+
| ASET | -h | -hHv | -* | -pr | -n | | -ef |
| BANNER | -h | -hHv | -* | | | | |
| CAL | current | -hHv | -* | | | -R | |
| | month | | | | | | |
| CAT | -h | -hHv | -* | | | | -bcCenst |
| CHMOD | current | -hHv | -* | | -n | -R | -cdDf |
| | dir | | | | | | |
| CUT | -h | -hHv | -* | | | | -cdfis |
| DCALC | -h | -hHv | -* | | | | |
| DCAT | -h | -hHv | -* | -aq | | | -cfn |
| DETAB | -h | -hHv | -* | | | | -ert |
| ENTAB | -h | -hHv | -* | | | | -ert |
| FILE | -h | -hHv | -* | -0123ang | | -R | -mo |
| FMT | -h | -hHv | -* | | | | -#BcCfLnpRs |
| GENOUT | -h | -hHv | -* | | | | -bBcCdDeEfF |
| | | | | | | | mMpPsS |
| HD | -h | -hHv | -* | -q | | | -lnotx |
| HEAD | -h | -hHv | -* | -q | | | -# |
| L | current | -hHv | | -afVx | | -R | -12458densu |
| | dir | | | | | | kKmpr |
| LOCASE | -h | -hHv | -* | | | | -ber |
| MCOL | -h | -hHv | -* | | | | -cflst |
| NCONV | -h | -hHv | -* | -a | | | |
| NODUP | -h | -hHv | -* | | | | -bei |
| STRINGS | -h | -hHv | -* | -o | | | -#antx |
| TAIL | -h | -hHv | -* | -q | | | -# |
| TEE | -h | -hHv | -* | | | | -acC |
| UPCASE | -h | -hHv | -* | | | | -ber |
| WC | -h | -hHv | -* | | | | -clmnuwx |
+----------+---------+------+-----+----------+-----------+-----+--------------+
Explanation:
Name The name of the program
Default The action of the program after invokation w/o arguments
Help Switches which provide usage and other information
Dbg Debug option which displays some internal runtime details
Verbose Switches which control the programs verbosity
No Action If specified, these options switch to don't-modify mode
Rec Make the program operate for all subdirectories, too
Special These switches perform program dependent functions
5 The user interface
---------------------
I tried to design a unique user interface for all my utilities. Its features
are listed below.
* First of all: NEVER try to do something like <prog> TEXT.DAT > TEXT.DAT ie.,
never try to redirect output to the input file. This results in loss of your
data file. Instead, rename your input or output file before applying the
command, like
REN TEXT.DAT TMP.TMP
<prog> TMP.TMP > TEXT.DAT
DEL TMP.TMP
That has nothing to do with my programs, but I think, it should be said.
* You may rename any of the programs to whatever name you wish. The help pages
will recognize the change and update automatically. For bug reports please
tell me the 'design name', which is shown in the -v screen, if it differs
from your choice (otherwise I probably don't know what you're talking
about).
* Valid switch characters are '-' and '/'.
* A filename '-' stands for input from stdin. This is true for those utilities
where input from standard input is meaningful. If you use them as pipes, as
eg. in
VER | GENOUT -
you may omit the filename argument and simply write
VER | GENOUT
* If you invoke one of the filters like
LOCASE - -
you must input from the keyboard _two_ times, terminating each input with
CTRL/Z. If you combine this with piping, like
DIR | LOCASE - -
the first - means the input from the pipe (here DIRs output), and the second
- means input from the keyboard, terminated with CTRL/Z, as above.
* Calling any of the programs without arguments will show a help page, if
there is no meaningful application for such an invokation.
* The switch characters are case sensitive, ie. -h and -H are two different
switches!
* Switches may be specified separately, like -a -b -c, or in one turn, like
-abc. If switches have arguments, like -b100, they may only appear at the
end of (optionally tied-together) switches, ie. -ab100 is the same as -a
-b100, whereas -b100a results in 100a as argument to -b. Switches with
arguments appear in the help pages with a trailing :
In ASET combined options are not allowed, ie. you must specify them one by
one, like -a -b -c, not in one turn.
* The Errorlevel is set due to the following reasons: 0, if everything worked
fine. 1, if an information screen had been displayed. 255, if a fatal error
occured. Other settings depend on the tools functionality and are documented
in the -H screens. This helps building batch files with the programs (IF
ERRORLEVEL 255 GOTO... and so on).
* The commandline may contain quoted strings. Quoting characters are ' and ",
respectively. The following command line
BANNER 'a"a' "b'b"
contains 2 arguments, because " will be part of the string in the first '
pair and vice versa. The ! character may be used to unquote ', ", and !
itself. Separators are space and tab characters. Quoted strings without
separators in between are concatenated. Therefore
BANNER !'a"a' "b'b"
has one argument, namely the string >'aa' bb"<. Think about this. Quoting
may also be used to specify empty strings '', or "". Missing quotes at the
end of the line are filled up appropriately. If you doubt whether one of the
programs reads your input correctly, call it with the -* option. It will
tell you exactly which options and parameters have been recognized.
The above does not apply to ASET, which has its own command line parser.
One note for 4DOS users: 4DOS interprets quotes in the command line itself.
You must therefore use `'` and `"` to pass the quotes ' and " to programs.
* The meta character ! may also be used to pass any ASCII code to the
programs. If you want to pass, eg., a <CR> character to one of them, simply
enter its (decimal) code after the ! character:
<prog> !13
Note that !n cannot be used within quotes, but you may use something like
<prog> "Let's pass"!13!10"cr/lf to <prog>"
If the number after ! exceeds 255, it is interpreted to be more than one
character (up to 4 characters can be formed this way). We do not recommend
the usage of this feature, however.
The above does not apply to ASET, which has its own command line parser.
* If not stated otherwise, the order of arguments and switches is arbitrary.
Parameter of switches, like -b100 must be appended without blanks
(otherwise they are interpreted as names).
* Each of the programs, which accepts a list of file names as arguments, does
also accept the name of a list file. A list file is by general agreement a
file which contains a list of names of other files which are to processed.
Its name is passed with a leading '@' to tell its special status, eg.
CAT @FILES.LST
FILES.LST is expected to contain a list of file names, separated by white
space, ie. SPACEs or NEWLINEs, eg.
FOO.DAT
PROG.PAS
WILLI.C WILLI.H
It may even contain the names of other list files (which must start with '@'
again). The latter feature is to be used carefully, though, because you are
likely to lose control over what happens, if too many list files are
involved. The processing of nested list files is as if they were inserted.
Recursion is not allowed!
You may of course mix file names, wildcards, and list file names in the
command line, like
CAT 1.DAT @1.LST 2.* @2.LST
You may however NOT use wildcards as list file names, like @*.LST!
* Currently my utilities cannot process files whose name begins with - (unless
they are part of a wildcard like *.*), because they are interpreted as
options. You must either use a wildcard or rename them first.
6 Source code availability
---------------------------
I will not give away the sources of this software. If you want to program in
TP, I point you to Timo Salmis collection of TP goodies (no source code, only
TPUs) and David R. Conrads DRCPAS10 package (source code) - see credits.
7 Credits
----------
I would like to thank the following people for their support:
* My wife Marita Breuer for testing the programs
* Jouni Miettunen (jon@stekt.oulu.fi) for a lot of suggestions, critics, and
discussions. I couldn't mention everything we talked about...
* Edwin Schwartz (Niederzissener Strasse 12, 5479 Wehr) for his extremely
helpful comments concerning the '- -' bug
* Jari Kokko (jkokko@snakemail.hut.fi) for his comments. He had the idea of a
simple command line oriented Disk Cataloger like DCAT
* Prof. Timo Salmi (ts@uwasa.fi) of the University of Vaasa, Finland for
making available useful tools to all of us. I also wish to thank him for his
willingness to discuss problems concerning them. His TPUs can be anonymously
ftp'ed from garbo.uwasa.fi (128.214.87.1) as /pc/ts/tspaXXYY.zip, where
XX=version, YY=40,50,55,60
* Norbert Juffa for his great TURBO.TPL replacement
* All the people who contacted me to report bugs
* David R. Conrad for his DRCPAS10 package - I use several of his procedures.
You get the package via ftp from wsmr-simtel20.army.mil (192.88.110.20) in
the directory msdos/turbopas
* O. Wehrheim for his dBaseTB unit from Software Journal 06/87
* Teddy Matsumoto for his excellent freeware DIET program
* AC/DC, Metallica, Flotsam & Jetsam, and Slayer for their tunes :-)
8 Revision history
-------------------
+-------------------------------------------+
| Version 3.1 --> 4.0 (released 05/01/1993) |
+-------------------------------------------+
General (for all programs)
--------------------------
* New utilities DCALC, DCAT, L, TAIL
* Rewrote the basic layer; it's now faster and a bit smaller. Due to this
major revision I renamed the programs to <prog>/2. The revision numbering
starts with 1.0 again. <prog> -v reveals that the programs belong to
RUTILS40
* Increased my documentation efforts. Not much, but it grows...
* Added a new feature to the command line parser: !<num> may be used to pass
arbitrary characters to the programs, eg. CR=!13
* Dropped the support of text files with LF-only separated lines (Unix
format) in order to speed up most of the programs significantly
* Fixed the '- -' bug which caused 'PROG - -' to terminate after reading
the first input, and 'DIR | PROG - -' to terminate without reading from
standard input. Thanks to Edwin Schwartz for his suggestions
* Dropped the support of comments in the command line, because the problems
were bigger than the benefits
* The help pages are formatted \raggedright again (I changed my mind)
* Modified the output of the debugging mode -*; added some more info
ASET
----
* Huge enhancements, including an infix expression parser for parenthesed
expressions of arbitrary complexity, several new functions, a powerful -e
option (the old -e option is renamed to -p!) which lets ASET modify the
DOS ERRORLEVEL (great for batch files!), the ability to load assignment
sequences from a file, which can ease software configuration, and a new -n
option which makes ASET run in 'compute only, do not SET' mode, which lets
you use ASET as a kind of desktop calculator
BANNER
------
* New option -C makes BANNER center the output
CAL
---
* CAL knows about the Gregorian Reformation, which removed 11 days from 3
Sep 1752 to 13 Sep 1752 (in America). CAL prints calenders for a complete
year in three colums for Unix compatibility (thanks to Pingnan Yuan
(yuan@geog.utoronto.ca) for pointing this out)
CAT
---
* CAT now operates for binary files, too; it starts in binary mode by
default (ie., CAT fileA > fileB produces exact copies). Thanks to Jari
Kokko (jkokko@snakemail.hut.fi) for his suggestions.
CHMOD
-----
* changed the % switch to ~ due to problems with shell variables (thanks to
Jouni Miettunen (jon@stekt.oulu.fi) for bringing this to my attention)
* supports directories with the new switches -d and -D now
* increased security by introcducing the new -f switch which must be set for
system files
CUT
---
* Bugfix in CUT: sometimes a range error was raised
FILEINFO --> FILE
-----------------
* FILEINFO is replaced by a new utility FILE, which works similar to the
Unix command with the same name. A magic file is shipped with FILE.
FILEINFO is no longer supported
FMT
---
* FMT inserts spaces (in blockset mode) deterministically now, ie.
successive calls of FMT produce the same result
GENOUT
------
* Bugfix: BAT output did not work
* Added 4DOS support (the ECHO format is different from DOS)
HEAD
----
* New option -q makes HEAD operate quietly
NC --> NCONV
------------
* I renamed this program because its name collided with Norton Commander, I
encourage you to rename it to a SHORT name (I use NC as before)
STRINGS
-------
* Bugfix: readable strings with a length of 255 characters were preceded by
one non-printing character
* New option -o can produce binary, decimal, octal, and hex offsets now
TEE
---
* TEE works for binary files now
WC
--
* WC -u is default rather than WC -n
+-------------------------------------------+
| Version 3.0 --> 3.1 (released 01/05/1993) |
+-------------------------------------------+
General (for all programs)
--------------------------
* New utility MCOL
* Bugfix: the handling of directory name parameters failed for paths like
C:\ (thanks to Timo Salmi for pointing this out)
* Some internal bugfixes
* FMTs blockset facility is internally used to format the help pages
ASET
----
* ASET reports missing environment space now
BANNER
------
* New options -s and -S invoke slanted and backslanted mode
* Bugfix in BANNER: Z and Y were swapped
HEAD
----
* HEAD reports ==> (stdin) <== correctly
FMT
---
* FMT simplifies ranges of whitespace before formatting a line (which
produces nicer results), unless -p is specified
WC
--
* New option -m determines the length of the longest line
+------------------------------------------------+
| Version 3.0 beta --> 3.0 (released 08/05/1992) |
+------------------------------------------------+
General (for all programs)
--------------------------
* New utilities CAL, CUT, and FMT
ASET
----
* New opcodes BOOTDRIVE, BUFFERS, and FILES for ASET
CAT
---
* Bugfix: supress mode was sometimes on w/o option -s
DETAB/ENTAB
-----------
* New options -l and -r for leading tabs and quotes
HD
--
* HD -l defaults to HD -l20 (one page)
LOCASE/UPCASE
-------------
* New option -r for quotes
NODUP
-----
* Removed option -w for NODUP again, because there was no meaningful way to
decide whether to apply it before or after the position calculation
PICINFO --> FILEINFO
--------------------
* Replaced PICINFO by the more generic FILEINFO. PICINFO is no longer
supported
TEE
---
* Bugfix: it sometimes didn't accept input filenames
+------------------------------------------------+
| Version 2.0 --> 3.0 beta (released 07/03/1992) |
+------------------------------------------------+
General (for all programs)
--------------------------
* New utilities ASET, WC, BANNER, CHMOD, HEAD, GENOUT, STRINGS
* Usage of a read buffer for input from files speeds up most of the
utilities significantly
* All utilities recognize CR/LF separated text files as well as LF-only
separated text files
* All programs display a help screen, if called without arguments
* New commandline parser
* New option -u for several programs generates unix-like output
* New option -* for all programs generate debugging information
* several bug fixes
CAT
---
* New options -b, -e, -n, -s, -t for CAT make it behave (nearly) like unix
cat
HD
--
* New option -o allows starting offset specification
NODUP
-----
* New option -w allows whitespace exclusion
PICINFO/WC
----------
* PICINFO recognizes TIFF MM and PIC now
* new dirname facility for WC and PICINFO
+-------------------------------------------+
| Version 1.0 --> 2.0 (released 04/28/1992) |
+-------------------------------------------+
General (for all programs)
--------------------------
* New utilities HD, TEE, NC, and CAT
* Bug fix: wildcards now work on other directories also
+-----------------------------------+
| Version 1.0 (released 04/14/1992) |
+-----------------------------------+
* Initial version
9 How to contact me
--------------------
Mail: Richard Breuer
Brunssumstrasse 6
5100 Aachen
(after Jul 1, 1993: 52074 Aachen)
Germany
Europe
or: Richard Breuer
ComConsult GmbH
Pascalstr. 25
5100 Aachen
(after Jul 1, 1993: 52076 Aachen)
Germany
Europe
Phone: +49 241 85605 private
+49 2408 149 01 job
+49 2408 149 149 fax
Email: ricki@pool.informatik.rwth-aachen.de (Preferred!)
Please note that my private address will change sometime in 1993. I will keep
my e-mail address some time longer. If your e-mail fails, try
marita@rwthi3.informatik.rwth-aachen.de
instead.
If I find the time (I got some ideas...) I will add some more utilities. If you
like the RUTILS package, drop me an e-mail or a postcard from where U live (It
would be nice to get some feedback - Thanks to those of you, who replied!).
Ricki
$Id: readme.txt 1.20 1993/05/01 10:03:24 Ricki Exp $