home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Amiga MA Magazine 1998 #3
/
amigamamagazinepolishissue1998.iso
/
bazy
/
arcman15
/
aman.doc
< prev
next >
Wrap
Text File
|
1995-01-16
|
12KB
|
290 lines
/******************************************************************************\
** **
** The Archives Manager 1.5 **
** **
** (c) 1995 Martin Mares, MJSoft System Software **
** **
\******************************************************************************/
Preface:
--------
AMan and its documentation is Copyright (c) Martin Mares, MJSoft System
Software, Prague, Czech Republic.
This archive can be freely redistributed as long as all of its files are
included in their original form without any additions, deletions or
modifications (excluding addition of other README-style files and icons)
and no more than a nominal fee is charged for its distribution. All
copyright notices in the programs and accompanying documentation files must
remain intact. It's especially forbidden to add various '.displayme' files
and BBS advertisements. This style of distribution is generally known as
FREEWARE.
Special permission is given to Fred Fish to distribute this program on
his "Fish Disks".
This software is provided "AS IS" without warranty of any kind, either
expressed or implied. The author is not responsible for any damage caused
by it.
What's AMan?
------------
AMan is a small utility designed for people having many disks filled
with archived files and trying to know where is which file located. It
manages a list of files (called Archive Database), which contains the
following fields for each archive: Name, DiskName (displayed maximally 6
characters -> try to name your disks in style "A001" etc.), Length and
Comment (usually containing the filenote of the archive).
AMan is able to sort the files you want to extract by name of disk they're
stored on and do many other interesting things. The most important one is
probably the ADD command, which tries to tell you the best way to store
new files to existing archive disks.
These were the good news, but ... AMan is controlled completely by CLI-like
commands (I plan to implement some GUI, but I have no time to do it \dots).
Command line arguments:
-----------------------
FILE/K - define name of default database (this database is loaded automatically
before executing the startup script (AMan.startup), default is Archive)
HOST/S - start AREXX host
PORT/K - define name of AREXX port used by the host (default is 'AMan')
Data file format:
-----------------
Each file is described by one line:
<name>|<diskname>|<size>|<datestamp>|<comment>
Last few lines contain free space informations:
:<diskname>|<freebytes> for FFS disks
::<diskname>|<freebytes> for OFS disks
Commands:
---------
Each command may be followed by standard AmigaDOS-style standard output
redirection (>file) placed before its arguments. >#n redirects to window
of given number.
? or HELP - display brief list of commands
QUIT - exit without saving the database. If the database has been changed,
you will be asked if you really want to quit.
EXIT - exit. Save the database if it's been changed.
SAVE [[AS] <filename>] - save the database. The file name will be used as new
default.
LOAD [[FROM] <filename>] - (re)load the database. The file name will be used as
new default.
MERGE [FROM] <filename> - join specified database with current one.
STATUS [FULL] - display number of records, number of disks and number of changes
in the database. STATUS FULL displays some internal information used for
debugging of memory allocation routines.
ENTER <name> <diskname> <comment> <size> [<date>] - manual addition of record.
If the date is not specified, current one will be used.
LIST [<filter>] [FULL] - list all files matching the filter expression (see
below). If no filter is given, all files will be displayed. The asterisk
('*') character on the left side of the listing says that the record is
selected. The FULL switch forces LIST to display all items in their full form
instead of shortening them when not enough room on the line is available.
STAT [<filter>] - display total size of selected records.
SELECT <filter> - select all files matching the filter expression.
DESELECT <filter> - deselect all files matching the filter expression.
INVERT <filter> - invert selection of all files matching the filter expression.
RESELECT <filter> - select all files matching the filter expression. All other
files will be deselected.
DELETE <filter> [AUTO] - delete all files matching the filter expression. You
will be asked to confirm this operation. The AUTO option says that you want
to delete not only the records in the database, but also the real files.
SCAN <drive> [TODAY] - scan files in specified directory/drive and add them
to the database. The TODAY switch forces the date to be rewritten by the
current one.
EXTRACT <filter> [TO <dir>] - list all files matching the filter expression
sorted by disks they are stored on. This function makes extracting of
large amount of files significantly simpler.
If you specify a destination directory using the TO parameter, all files
are automatically copied into it. In this case, the date/time of file
creation is set to current one. If the directory doesn't exist, it is
created.
FIND <pattern> [SEL] - list all files containing specified pattern as a
part of their file name or comment. Option SEL allows marking of all
matching files as selected.
DISKS [CLEANUP] [STAT] [NOFULL] - list disks (the output contains disk name,
free space and number of files on the disk).
CLEANUP = delete all disks with 0 files on them.
STAT = display only statistics, don't show each entry
NOFULL = exclude full disks
CHECK - check consistence of archive. This function displays warnings about
duplicated file names and empty disks. It's recommended to use this function
after all large manipulations with the archive (e.g. adding of larger amount
of files).
ADD <srcdir> [TOUCH] [COPY] - probably the most powerful function of this
program. It scans all files in specified directory and tries to place them
on the archive disks in optimal way. The list of pairs [disk,file] is
sorted by disk, therefore you can add the files easily. The INFO option is
used mostly for debugging, but you can use it to get more information about
the process.
The TOUCH option forces setting of date/time of all added files to current
date/time.
The COPY option causes automatic copying of all added files to backup disks.
Date/time of creation of the file is set to current date/time.
The DirCache filesystem (V39+) is not supported, because it usually
isn't used on backup disks.
Sets selection flag of all rescanned files.
REPORT [<filter>] - create a human-readable dump of archive contents. It
contains only the file names, sizes and comments. Used mostly with output
redirection.
SCRIPT <name> - execute script (AMan.startup is executed during AMan startup)
ECHO <string> - display a string
ALIAS <name> <def> - define an alias, ! means "insert the arguments here"
ALIAS <name> - remove alias
; <anything> - comment
OPENW <nr> [<filename>] - open window
CLOSEW ( <nr> | ALL ) - close window
HOST [<portname>] [SHOW] - start REXX Host mode (using given port name
or 'AMan' if no name is specified). The SHOW options causes displaying
of all commands being executed and their error messages.
GENDISK <basename> <numdisks> [OFS] [82TRK] - add new (fictive) disks
to the database. Default is standard FFS disk - may be overriden to OFS
or to the 82-track format by appropriate switches.
! <shell command> - execute a shell command. AMan-style redirection can be
placed between "!" and the command. CTRL-C doesn't work. (in this version,
this feature is implemented by calling dos/Execute(), which has several
disadvantages => it should be remade in some future version...)
If you want to call shell commands from ALIASes, you can use the EXECUTE
command, which is a synonym for "!".
Filter expressions:
-------------------
ALL/S - do for all files
SEL/S - do for selected files
NAME - do for files which name matches given pattern. Default=#?
DISK - do for files which disk name matches given pattern. Default=#?
COMMENT - do for files which comment matches given pattern. Default=#?
LESS/K - do for files which size is less than given number
GREATER/K - do for files which size is greater than given number
BEFORE/K - do for files which date is less than given one
AFTER/K - do for files which date is greater than given one
DATE/K - do for files which date is equal to given one
FROM/K - do for all files from given file list. The file list is a file
containing pure file names on separate lines or output from the
REPORT command.
ALL/SEL, NAME, DISK, COMMENT, LESS/GREATER, BEFORE/AFTER/DATE and FROM
can be freely combined.
Standard startup script:
------------------------
Standard distribution package contains also an example startup file
(AMan.startup), which is executed by the program during its startup and
contains some useful aliases:
s scan diskette in DF0:
end execute the End.AMan script (generates a report to ArcDir and exits)
w save current database
x exit
xx quit
c check
a add work:arch (usually called to check if the files fit on the disks
before using aa)
aa add work:arch copy
f use find to search for given pattern
ff same as f, but selects found records (usually used after successful f)
e extract selected records to work:extr
Things to be implemented:
-------------------------
- some new commands callable from REXX scripts
- faster reading/saving of database files
- menu selection / menu mode ?
- DOpus interface
History:
--------
140493 FIND: SEL option
140493 LOAD: all loaded records are automatically deselected
140493 ADD: TOUCH option
150493 Repaired bug in LOAD causing 81000009 alerts.
230493 DISKS displays total size
230493 Empty date is replaced by current one (-> LIST AFTER "" etc.)
230493 STAT added
110593 Multiple OPENW doesn't leave lost windows
060793 ADD: repaired incorrect calculation of block size; INFO removed
060793 EXTRACT and ADD sped up
100793 DISKS: added STAT and NOFULL functions
100793 SAVE: AS/K changed to AS
100793 Added AREXX host
100793 LOAD now resets change counter
100793 -- released as version 1.1ß --
200793 Added GENDISK command
200793 Fixed another bug in ADD
200793 ADD: now reports required number of additional disks
200793 -- released as version 1.2ß --
121293 ! <command> executes a shell command
121293 filter expression FROM/K accepts files generated by REPORT
121293 EXTRACT does secondary sorting by file names
121293 EXTRACT and ADD are able to copy the files automatically
121293 Warning displayed when scanning disk with unknown filesystem
121293 -- released as version 1.3 --
110194 DELETE is able to perform automatic deletion of files (the AUTO switch)
110194 GENDISK: option 82TRK added
110194 repaired extract to current directory
110194 ADD: reserved 1 block for FileSystem bug (there's a bug in some ROM File-
systems causing disk to be unfillable - there must be at lease 1 block
free)
110194 -- released as version 1.4 --
160194 Maximal length of comment increased to 64
160194 Added a FULL option of LIST command that allows all fields to be displayed
in full, non-shortened form.
160194 -- released as version 1.5 --
Last words:
-----------
- send your bug reports and ideas to mjsoft@k332.feld.cvut.cz