home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
The Fred Fish Collection 1.5
/
ffcollection-1-5-1992-11.iso
/
ff_disks
/
500-599
/
ff597.lzh
/
NewList
/
NewList.doc
< prev
next >
Wrap
Text File
|
1992-02-01
|
29KB
|
639 lines
NewList 6
(too good to be GNUlist!)
by
Phil Dietz
PO Box 306
Yutan, Nebraska
68073
18-Dec-91
This is TuitionWare. Send some bucks to help me get through college.
It's only a buck. It's not like $35.00 that some dingos ask for.
"What! You expect Jack Radigan to send FREE updates for a measly
$35.00 ShareWare Fee! You have to be kidding!"-- many USENET posters
Forget Jack. I care for my customers. No matter how much you give,
no matter how far away you live, I'll send you updates! I ain't no
fogey stogey author getting rich. BTW (by the way), I think Jack
is going to be on "Life Styles of the Rich and Famous" next month.
With this release, all patrons have received 2 different versions
in the mail (8 different countries!). Sure, some only sent a
buck but who cares! (I'm going for the Best Shareware Author
Award :-)
SUBLIMINAL HINT: B U C K S
Oh yeah. Spread this mother too! Upload it to your favorite BBS.
Upload it to GENIE, Compu-Serve, etc. Offer it to your User Group
for inclusion. Spread it like those lamey viruses seem to do.
NOTE: all documentation must accompany newlist. With exception to
Fred Fish, all commercial PD disk makers must notify me of
my inclusion (you won't be denied though).
What is Newlist?
NewList is "THE" replacement for the CLI commands-- dir, list,
ls, lsjr, dr, and all the rest. Through newlist's development, it
has been optimized and new features were designed to be their quickest.
All of the most important features of a 'list' program have been
put into newlist. It's configurable, it's very fast, and it has tons
of commands and options available to please almost everyone.
Newlist is like having 3 or 4 commands all rolled together
(with some extras all over the place) in one handy command.
Ain't it like LS?
Well sorta. LS and LS-jr are very good LIST replacements. They
are quick and offer UNIX compatibility, but Newlist is JAM PACKED with
options. The best of ls, the best of dr, the best of list, and bunches
of special features are all put in one package. With NewList, the user
is given processing power. You can sort a directory the way YOU want it.
Newlist was designed to be quick and offer all the MEAT commands
most CLI users need. From the ground level on up, newlist was
optimized and new features were designed to be their quickest.
Fast flexible file manipulation, nice powerful customization,
and all those extra 'goodies' were melded into one.
Features of NewList:
1) It's PURE! NewList is REALLY quick if it's resident.
2) Very fast algorithms.
3) Completely dynamic.
4) Tons of sorts and filters (name, date, size, as-read, even comments!)
5) Full UNIX and AmigaDOS wildcards (n*l*s#? = newlist)
6) Character filtering (show files that start with l-s)
7) ANSI.
8) Fetches console window bounds and adjusts accordingly.
9) A slick multi-columnar quick option to utilize screen space.
10) ENV: support!
11) Date construction kit with 8 premades (or create your own!)
12) Print construction kit with 2 premades (or create your own!)
13) Fast non-recursive recursive directories! (a mouthful ain't it)
14) Multiple paths.
15) Built-in hunt mode like whereis.
16) A Pager.
17) Complete link support, detection, and traversal.
18) WB2.0 compatible !!!!
19) Tons and Tons and Tons O' Flags and Switches!
20) Optimized and Optimized! Every 4 byte saving was found!
Usage: NewList ?
NewList 6.0 WB2.0 only by Phil Dietz NCEMRSoft
NewList [FLAGS ie. -sgbi -v] <paths and wildcards>
o Overlook ENV:NEWLIST a Don't use Today, Yesterday, etc.
b | k Display blocks or disk keys / Add / to dirs
d0...7 Eight date/time formats u Show DEVICE: usage info
r Display list in reverse n Display comments
s Sort by name ss Sort by file size
sc | sr Sort by comment or as-read sd Sort by date
gd | gf Show ONLY dirs or files gb Show BOTH dirs/files grouped
h No header i Ignore .info files
fA Files start with A tZ Files go to Z
c CASE sensative with -f -t z C= list style directories
q Quick option qs Quick option with file sizes
v Vertical sort quick columns p Page prompt when screen is full
x# Max # dir-levels to enter y# Use # columns for quick
S Show only stat totals T No totals
R Enter sub-directories W Enter with wildcard on ALL levels
H Hunt for files on disk Q No system requesters
J Do not follow links
L | l dd-mmm-yy or # Files made before/after date or # days ago
df Custom date format " %y %m %d %h %n %s %i %t %T \nte' "
E | F Custom print format " %p %U %d %b %k %s %v %c %C %N %n %P \nte' "
FLAGS IN DEPTH:
Note: All these flags are compatible with WB2.0 version.
WB1.3 version will be missing a few commands.
Please see history and/or 1.3 newlist usage for further help.
[-o] When you want to OVERLOOK the ENV:NEWLIST variable. Using
[-o] (or any another overriding flag) yields the normal
print-as-being-read format. This print-as-being-read format
can be helpful for checking what order some programs will
process files ['GIFFY' displays GIFs in this order]
[-a] Forgets about the TODAY, YESTERDAY, bologna.
[-b] [-k] Instead of the default display of filesize, newlist will
instead display BLOCKS or DISKKEYS respectively.
[-/] Append a slash '/' to directories and a '>' to links.
Output is similar to NeXT Unix, A/UX, and dr.
The link sign '>' will only be printed in [-q] mode.
Oh yeah, I think the '@' is an ugly motha so I switched to the '>'
Note: newlist wb1.3 version does not handle links very well.
As a result, bad soft links will not be detected
so they will appear to be dir links.
[-d0...7] Eight different pre-made date formats ranging from the
fully expanded 1st grade letterhead (Friday, November 9, 1991,
05:30:24 PM), to the default LIST format, to Euro-Styles to slashes,
dots and dashes, to DateStamp values (Handy for programmers!).
[-df] Allows you to create your own Date format.
The format is -df "DATE STRING". Here are the flags available:
%y - year as 2 digits (90)
%Y - year as 4 digits (1991)
%m - month as 2 digits (07)
%M - month name ("January".."December")
%.3M - abbreviated month ("Jan".."Dec")
%d - day of month (1-31)
%D - day name ("Monday".."Sunday")
%.3D - abbreviated day ("Mon".."Sun")
%h - hour in twenty-four hour notation
%H - hour in twelve hour notation
%i - 12 hour indicator for H notation (AM or PM)
%n - minutes
%s - seconds
%t - prints TODAY, YESTERDAY, or Day name if applicable
%T - Two must be present. Mark off block which will be
substituted with Today, Yesterday, if applicable.
If not applicable, it will process the inner block.
(ie -df "Date: %T%3M %2d%T" will sometimes print
Date: Today or Date: Mar 16)
\n, \t, \e, \' - Newline, tab, escape key, or quote ". \e can be used
to make neat ANSI sequences. See aliases 'color'.
Make a C string like printf.
-df "Date: %02d-%3.3M-%02y at %02h:02n:02s"
yields
Date: 09-Nov-91 at 01:03:20
It's Easy. It adds spice.
[-r] Displays a list in REVERSE from top to bottom. WHY?
Instead of waiting for the whole list to scroll by to see a
file at the bottom, you can reverse the list and ctrl-c to
stop quick! It's also handy when sorting by date. All of
the newest files will be displayed first.
[-s] Sorts files alphabetically.
[-ss] Sorts files by file size (or blocks [-b]).
[-sd] Sorts files by time (date of creation). Very handy!!
[-sc] Sorts files by comments. If you use FileNotes wisely, you can
have your directories be grouped by file type. Simply
add a filenote to each file and give it a type (Picture, GIF,
Utility, NoiseTracker, etc.) Now when you view by [-sc],
the files will be grouped together by type! You can also use
the included alias 'dirtype' which will display the filetype
in a nice position.
[-sr] Sorts files as-read (actually as hashed), but fully buffered.
To sort by diskkey use [-sr -k].
[-gd|-gf] Groups the display so ONLY dirs or ONLY files are shown
respectively. Similar to 'dir dirs' or 'dir files'
[-gb] Shows BOTH directories and files, all dirs then all files.
[-v] may now be used in conjunction. Output is similar to DIR.
[-u] Shows bytes FREE and bytes USED on disk. Now you can get
all your needed info with one command instead of a "dir
list info" combo. Note: due to RAM:'s variable size,
the bytes free will be zero. Also note: sometimes the
size is off....I don't know why, but be aware.
[-n] Do you hate seeing those huge FILENOTES destroying your
directory list? This flag will toggle if you want to see them.
If not present, a simple "Comment" or "c" will be shown to tell
you "hey mister, you can read me if you wanna."
[-h] Doesn't display the header file.....ohhhhh.....big deal!
Well it does seem out of place in the -q quick directory, so
it might help. Another LIST option (holy cow!)
If you are auto-executing [-E] a format, [-h] will turn off
the verbose output.
[-fA] The MINIMUM letter for the filter. Let's say you only want to
view files greater than or equal to t. Just set -ft. Very
handy for printing lists where you left off.
Remember -f as FROM A
[-tZ] The MAXIMUM letter for the filter. Only files less than or equal
to the letter will be shown. To see files h through l
Just set -fh -tl.
Remember -t as TO Z
[-c] When using the letter filters [-f -t], this flag will also take
into affect the CASE of the filter letter. So now only upper or
only lower case files can be displayed.
NOTE: [-fA] or [-tZ] MUST be set to an alphabetic character
to utilize case sensativity! The default letters are
1 and 255, so [-c] will not work unless you change
one of them to an alphabet letter!
If you give both [-f and -t], it will use -f's case.
[-i] Ignore *.info files!
[-l] dd-MMM-yy or # days
Show files made in the last # days or files made since dd-MMM-yy.
Suppose today is Sat 10-Nov-91 and you want to see files made
yesterday. You can enter these:
nl -l 1 nl -l 09-Nov-91 nl -l Friday nl -l yesterday
Note how you can enter the # of days, the date, the day name
(Friday, Saturday, etc.), or today, yesterday, etc., to represent
the same thing! Using my program Envoy, you may also enter
nl -l Freitag (German for Friday)
Day names like Friday represent 'last Friday' not
'this coming Friday.'
[-L] dd-MMM-yy or # days
Show files made before # days ago or files made before dd-MMM-yy.
See above [-l] for examples of usage.
[-y #] Force # columns for [-q] quick option. Use this option when
re-directing the output to a WIDE printer. ie. to utilize a
printer with 20 pitch type, use nl >prt: -q -y 9 dh0:
[-q] Gives a QUICK and easy listing of the directory. The entire
screen will be utilized and multi-columns will be created.
Names will be white, and directories will be another color.
Because of its simplicity, not all of the flags are usuable.
(like -df etc.)
[-qs] Quick option WITH file-sizes! A very very handy option very
similar to DIR opt s, but with multi-columns. Note: if you'd
rather see blocks or keys instead, add -b or -k (ie nl -qs -b)
[-v] Vertical sort the [-q] and [-qs] outputs. Vertical sort
now works properly with [-gb] group both option. Giving
[-v] all by itsself means [-q -v].
[-E] Execute print format immediately. This will prevent
unnecessary script files from being generated. For example:
nl dh0:iff/sounds/* -E "sound %P"
will play all sounds in dh0:iff/sounds.
nl -H -l 1 -E "copy %P to backupdisk:" dh0:
will copy all files made in the last day on dh0:
to your backupdisk:.
If you want to copy or move files, etc. with spaces in them
("Read Me"), you should pad the filename with quotes so
Amiga will run it properly. (ie nl -E "copy \'%P\'" )
^ ^
Quote Characters
By default, -E prints in verbose mode (prints Executing xxx....)
To turn it off, turn off the header with [-h] flag.
WB2.0 version will allow interactive input and output with
CLI programs so you can "delete %P ASK" or whatever. WB1.3
version DOES NOT!
[-F] Allows designing of custom print format. Now you can design the
way YOU want the output to be. Here are the flags supported:
%b - block size
%c - micro-comment 'c' if filenote available
%C - 'Comment' if filenote available
%d - Date (this date can be constructed with -df!)
%k - disk key
%n - file name
%.5n - file name truncated to 5 chars
%N - filenote
%p - show protection bits
%P - file name with complete path
%s - file size
%v - variable output. Depends if [-b] [-k] or [none]
are used.
%U - UNIX protection bits. Adds d for dirs and H/S for links
Routine distinguishes directory and file links.
%L - Prints expanded link names in the form
" -> Full-path-of-file". Soft Links that have
their link not mounted will be displayed as
" -> :UNKNOWN FILE:"
\n, \t, \e, \' - Add newline, tab, escape charater, or quote ". These
sequences may be used to create neat ANSI stuff. Check
out 'color' in the file 'aliases'. \' is very useful
when filenames you are manipulating contain spaces.
It you put \' around the name ( \'%n\' ) most DOS
commands will now recognize the file.
Here is a UNIX ls format example
-F " %U %c %4b %7s %d %n" -df "%.3M %2d %02h:%02n"
Custom print formats also allow easy batch script making!
This format will make a script file test.script that will
copy all *.c files in current dir to ram:
nl >test.script -F "copy \'%n\' to ram:" *.c
This format will make a script file test.script that will
copy ALL files made in the last 2 days to df1:
nl >test.script -l 2 -H -F "copy \'%P\' to df1:" *
So ya still like LS? Take off, ya hoser.
[-p] Turns on pagnation. When each the screen fills, a prompt
will be put up so you can read all the files before they fly by!
The prompt contains the current grand totals as well as
some neat inverse video effects. Press return to continue.
To break the list enter q or quit or
quintessential-list-replacement.....anything with a q. :-)
To make the list non-stop, enter n.
If you re-direct the output of newlist, paging will be turned off.
[-R] Recursion. This will enter subdirectories, print info, enter
the subdirectories in the subdirectories etc. It's similar
dir opt all.
nl -R FF:n* will show complete listings of dirs that
start with n.
There are 3 different types of recursion available. Mostly they
affect how the wildcard will be applied. Here's how they work:
ie nl [-R|-H|-W] dh0:c* will list
use [-R] use [-H]
candy/snickers (dir) candy/chocolate (dir)
Cars/datsun cars/cadillac
Cars/cadillac drinks/coffee
Cars/yugo lemons/cray-computer
(all files in dirs starting with c)(all files starting with c in all dirs)
use [-W]
candy/chocolate (dir)
cars/cadillac
(All files starting with c in dirs starting with c)
[-R] uses the wildcard only on the first level. All files
and subdirectories after that will be displayed.
[-W] uses the wildcard on all levels. Only files and directories
matching the wildcard will be shown/entered.
[-H] enters every single directory no matter the wildacard,
and will only print info that matches the wildcard.
[-W] Will exclusively use wildcard to match files and sub-directories
on EVERY level. Default mode for [-R] is to use wildards only
on the root level. Now ONLY files matching wildcard will be shown
and ONLY subdirectories matching wildcard will be entered.
[-W] is the method that ls uses- enter only dirs matching pat
[-H] Hunt files down. Will recursively enter subdirectories, but
will enter all directories regardless of wildcards, etc. Why?
Now let's say you want a list of all 'c' files on your harddisk.
Simply nl -H dh0:*.c
Besides matching wildcards, [-H] will also accept the other
conditional flags (like -f -i -l etc.)
Now you can list all capitalized *.info files on your harddisk...
nl -H -fA -c dh0:*.info
Now you can view all files made since yesterday....
nl -H -l yesterday dh0:
[-H] enters every directory it finds (up to -x #) levels and
tries to match corresponding files and dirs.
Hunt mode will now match both files and directories. If you
want to see only matching files, use [-gf] with it.
[-J] Jump links. Newlist will not enter or follow links when in
recursion mode. Works in conjunction with -R, -W, or -H.
[-x #] Only enter # subdirectory levels in recursion mode. Otherwise it
will enter every sub-directory it will find. Use with [-R, -W, -H]
Root level only is [-x 0].
[-S] Stats only option. Only prints totals for each directory.
All newlist filters (*.c -fA etc.) will still affect the results.
[-T] Don't show totals.
[-A] Include Assign Add's. WB2.0 allows multiple assigns to a name
(ie many font dirs point to fonts:) This option will have newlist
fetch all the different assign paths and view them. Wild
cards, recursion, and multiple ASSIGN: paths will still work 100%.
<paths> the directories to view. You can view as many directories at once
as you like. Simply add it's path and wildcard.
Important points:
+ Both Amiga and UNIX wildcards are supported (1.3 ver. only UNIX)
To use a wildcard simply add it right after the path.
+ The wildcard MUST be connected to the path. If you say
nl dh0: *.c
NewList will think you want a dir of dh0: AND a dir of
files matching *.c in the current directory.
+ Each new path may have a totally different wildcard
nl *.doc ram:*.c df0:*.lzh c:d?r df0:
^ ^ ^
just wildcard both just path
(assume current (assume * as
directory) wildcard)
+ Paths will be entered by newlist from right to left.
+ The Amiga currentdir character "" may not always work.
An alternative is to have a single wild card, *.
nl * vdk: will list vdk: then the current directory.
+ All of the flags and paths can be used in ANY order.
nl dh0:*.c -s -r df1:*.o = nl -r dh0:*.c df1:*.o -s
+ Flags may be joined together: nl -rsgbi
seperated: nl -r -s -gb -i
or both: nl -rs -gbi
+ "nl ?" brings up the help message. To use '?' as a wildcard
add a space ' ' or a flag or path before the '?'.
ie "nl ? " or "nl ? -s" or "nl dh0:?"
+ All of the flags can be used together (-q has exceptions):
You can view a directory through a case sensative character
filter, of files made in the last 2 weeks, sorted by date
in reverse order, showing block size , with a custom
dateformat string, custom print string, hiding .info files,
paging, using a UNIX wildcard, etc. etc.
Support for WB2.0 Links:
NewList has complete support for WB2.0's new link format.
NewList has the BEST link support available. This complete support
includes:
1) Both hard and soft links are supported.
2) Links will be shown VIA the UNIX style protection bits.
ie dH----rwed and -H----rwed
^(dir link) ^(file link)
depending if they point to a directory or a file. Hard
and soft links will also be shown by the bits H and S
after the d
ie dH----rwed and -S----rwed
^(hard link) ^(soft link)
3) Link names can be fully expanded to tell where they point to!
link -> dh0:source/tdraw
4) Soft links will be distinguished as being dir links or file links.
Thus, softlinks will be transparently identical to hard links.
(softlinks do not tell if they point to a file or a dir. NewList
will find out for itsself.)
5) Intelligent link traversals. All 3 recursion modes will allow
link traversals. A special method is used to prevent
circular directories and back-links. A directory will ONLY
be shown once. If a link wants to show it again, it will be
ignored.
6) Bad soft links or links that can't be resolved will be
detected and have the value:
link -> :UNKNOWN FILE:
7) [-/] will display links with a trailing >. Dir links
will be color3 while file links will be color1 (use -gb to
easily separate the two).
8) Soft links that are not mounted will have a ! in front of
them. ie. link -> !df1:myfile
9) Recursive modes [-R -W -H] by default will traverse links.
If you wish for them not to be traversed, give [-J] jump option.
10) Better link utilities are given in my LinkSupport package.
A new 'makelink' utility that supports soft link generation
and a 'deletelink' utility to erase them are included. They
include full 'C' source.
Environment Variable Support:
ENV: variables are now supported. Now long customized argument
lists can be spared! The variable ENV:NEWLIST contains any flags
you want to be default and have automagically set upon running NewList.
To utilize the ENV: support, use 'ed' and create ENV:NEWLIST by
typing in the flags you want to have default (ie. -r -sd). Easy.
With ENV: comes a diminished return. Now if you want the standard
'list' type display (files out of order and displayed as they are read),
then the [-o] option must be used.
NOTE1: to override the ENV:NEWLIST, you can enter [-o] or you can type
any different flag. Suppose ENV:NEWLIST is "-r -sd -d3",
to sort by size: nl -o -ss or simply nl -ss
NOTE2: the variable is called ENV:NEWLIST not ENV:nl!
Easier Way to Create ENV: Variables:
Make sure ENV: is assigned to a permanent directory. Now use the
Commodore supplied command setenv. Here is my ENV:newlist setting:
setenv NEWLIST "-sd -u -i -gb -Q"
or better setenv NEWLIST "-sduigbQ"
Tired of ENV: not being read?
Do you want to add just one more flag to ENV: (like -i or -p), but
find out that ENV: is ignored all together? The solution is to create
aliases. Aliases will guarentee that certain flags will be set no matter
what "extras" you give it. I have included some basic ones in the file,
'Aliases'. Append it to s:Shell-Startup. Now when you want to add
paging and list reversal to an ls-style dir, enter ls -p -r.
NOTE: you will not be able to get help from an alias [mrdir ?]. You
must call 'nl ?' instead of mrdir ?.
-----------------------
WB2.0 tip O' the day 1:
-----------------------
Do you miss the really fast scroll displays of wb1.3? I've found
a way to get them back! You can open a shell that disables the
super-auto-refresh to increase scrolling speed by 20%!
Do the following to open a WB1.3 style fast shell:
newshell CON:0/0/640/200/PhilDOS/CLOSE/SMART
^
this is the secret!
-----------------------
WB2.0 tip O' the day 2:
-----------------------
Wish your shell had more than 80 columns? Now you can use any size
font with WB2.0's neat new command setfont. Try this out:
setfont topaz 7 scale and setfont topaz 20 scale
^
this is the secret!
NewList will recognize the new font and will adjust its output!
Try the 7 point font and nl -v -gb. Cool huh!
~~~~~~~~~~~~~~~~
Comments: First off. Rename newlist to nl (for newlist), stick it in
your c: directory, and PURE it (protect c:nl prwed). People use
names that are short and you know that you want to type nl
instead of newlist.
Now edit your Startup-Sequence to make nl RESIDENT upon bootup.
(add RESIDENT c:nl PURE ADD or ARES c:nl, depending if you use
Workbench or ARP)
Use setenv ENV:NEWLIST "flags" to set your default flags.
Enjoy. Keep in mind: this is a super useful tool! A tool that
costs only a few dollars. It's like one of those 1001
in 1 cooking tools. "Flip the lever, and now it makes
julienne style potatoes! [clap....clap] You get the
slicer, the dicer, the juicer, and turkey jerky maker
for only $49.95! But wait there's more......"
Oh my....I've lost my mind :-)
Bare with me if Newlist doesn't like your set-up. Please
write me if you encounter any bugs or heinous crashes.
Phil Dietz -- NCEMRSoft
PO Box 306
Yutan, Nebraska 68073
USA