******************************************************************************
(C) Copyright 2003-2004 Curtis Systems Software P.C. All rights reserved.
(last update: 2004 Mar 15)
******************************************************************************
3.01 GA release Mar 15, 2004
* MAJOR release
* removed '-' option invocation for all options except '-h' and '-hx'
this allows very common dir usage of '/s /a /o' and should greatly help
with long time dir users.
* Allow the following / options to be run together (even in a global
context) /a /b /f /o /s.
* Added /Lxlo: This option allows the user the ultimate in field layout
of the file fields. Should size come before easize? Should date come
before time? Should attributes field be listed last .... Don't try this
with regular dir... *** But with CSSDIR 3.x YOU DECIDE***
* eliminated /Lxhp: because /Lxlo: is way more flexible
* adjusted memory allocation issues with warp4 startup.
* Changed name of cssdir.ini to cssdir.cfg and cssdirIni env var to
cssdirCfg.
* adjusted default cssdir listing settings, user can easily adjust in tandem
with env var cssdirDefArgs or via cssdir.cfg /$cssdirDefArgs$/
* moved /o*dups-asc and /o*dups-des to /Lxpo:
* added /Lxpo:*off --- causes no user ordering to occur, could save time
when ordering is a don't care. Also when /Lxpo:*off is set, /Lxrst:1 is
forced (reqType summary).
* beautification of dir listings, and empty dirs ...
streamlined bulky ***dirname: and ***request: heading and trailing labels
on /Lrrs options to more useful info including listed directory parent or
'.' entry, Which may include its date, time, attributes and potentially
easize! Regular cmd.exe's dir does NOT handle the '.' entries information
reliably (esp on HPFS drives), but cssdir DOES! This also handles the
known issue listed in 2.03 relnotes with not listing the '.' info or so
called empty directories referred too. Alignment of eabytes and sizes
bytes are done whenever possible between summary line (/Lrrs) and detail
lines. New heading line format, includes date/time attribute and sentinel
':>' for easy searching with editor, etc between directories. New trailing
summary formats currently start with 's>' for subtotals '>t' for a single
total, 'T>' for a total of subtotals! Final line when /Lrrs is non zero is
always 'gt>' or 'GT>' if /Lrgt is non zero. Also after each total or
subtotal cssdir is smart to give as much info as available or possible so
that the 's>' line could stand on its own, even in many cases outside of
that output. Handy with new utility cssrss (described below!). POWERFUL!!
* on the above mention 'gt>' and 'GT>' lines now give free space and if
any errors/warnings occurred, the number of such messages is listed,
also added /Lrgt to control new 'gt>' and 'GT>' record display.
* New utility cssrss.cmd to sort and sift /Lrrs2,3,4 output, Terrific way
to find out which directories are huge!!! Usage follows:
cssrss version 1.16 Copyright 2004 Curtis Systems Software P.C.
usage: cssrss infile [-][E|D|F|Z|S|N] [ V]
legend follows:
infile is cssdir generated file
E = order by num of entries field (if avail)
D = order by num of Dirs field
F = order by num of files field
Z = order by eaSize bytes field
S = order by fileSize bytes field (default)
N = leave as found
- preceding above option will reverse order
also can append ' V' for verbose output
cssrss also can handle multiple requests.
Too use this utility rexx must be available and must have sysStemSort
function available.
* All key fields are commatized (thousands separator is ',') and set as
such by default. User toggles or sets most key ones individually. Also
see new option /Lxcs:, which commatizes in bulk almost all options
beginning with /Lr.
* Changed /a out of the box setting to include all attributes. (No more
jumping through hoops by default as dir requires to find files).
* Enhanced /Lfa option to include two new subfields on most settings.
A leading character position and a trailing character position.
The leading one lists 1 of 4 chars, representing its transversal attribute,
a blank (normal transversal attribute), a capital 'H' meaning this
entry was found because of the most immediate transversal ancestor that
was hidden via its hidden file attribute was set (normal dir can NOT find
these easily), capital 'S' is similar to 'H' but its ancestor system
attribute was set, 'B' means both system and hidden attributes were set.
The second additional subfield is the trailing one that is a codified
representation of a files Ea size.
concise EA size code legend follows:
'-'(blank) = no EAs
+= 1 to 1K (All ranges are endpoint are inclusive)
1= 1k+1 to 10k
2= 10k+1 to 20k
3= 20k+1 to 30k
4= 30k+1 to 40k
5= 40k+1 to 50k
6= 50k+1 to 65535
#= 65536 or greater
Also there is one streamlined option /Lfa5 that does NOT include and
consume 2 chars, with the usually uneventful archive and readonly bits.
k above = 1000 bytes.
* /Dir: Dora suboptions now require explicit use of the leading '/Dir:'
to use. Most users may never use these, but power users will!
* Now symbolic definition codes can be continued on subsequent lines,
see cssdir.cfg
* OverHauled format of most options beginning with /Lr. During their
display the last two letters of the option are displayed followed by a '>'
at the beginning of each line they display ... for easy identification
and lookup for altering or shutting option off.
* /Lrdi option was greatly improved with much more information. You can NOW
also get disk information on fat drives that have no files (can't do
that with dir). Also see a bunch of convenient symbolic codes making use
of these improvements, included in the new default cssdir.cfg.
* added auto generated symbolic definitions:
/$$AllDrvs$/ , /$$LclDrvs$/ , /$$RmtDrvs$/
/$$AllDrvRoots$/, /$$LclDrvRoots$/, /$$RmtDrvRoots$/ for user convenience.
Use of /$$AllDrvs$/ causes cssdir to scan for all available drives.
Use of /$$LclDrvs$/ causes cssdir to scan for all drives that have the
following filesystem types:FAT,HPFS,JFS,NTFS,FAT32 (local drives).
/$$RmtDrvs$/ (remote drives) includes drives that do not include
/$$LclDrvs$/, The ones above ending with Roots$/ are simply the root
directorys of such drives.
* added environment variable cssdirSkipDrvs and /$cssdirSkipDrvs$/ to have
cssdir skip during the scanning for local and remote drives for
/$$RmtDrvs$/ and /$$LclDrvs$/, this could be valuable to avoid delays
and or errors or just drives you simply wish to ignore when using such
convenience auto generated symbolic definitions.
* defined convenience symbolic definitions which give users familiar dir
like view of files listed in cssdir.cfg ... see /$loDir$/ and /$loDira$/
As well as a number of other handy symbolics.
* adjusted nagging less on unregistered cssdir
* added way to flush /Dir: with /=Dir:
* added way to prepend on /Dir: with /-Dir:
* added way to append to /Mf: with /+Mf:
* changed suboptions on /Of: and /Pfof: from /Append /Overwrite etc to
/A for append /O overwrite, /T for time, /N for new, but also added a
way to have multiple list reports to separate files with /M. Also /Y
to add timestamps to any subsequent additional files.
* added new auto generated symbolic for day of year /$$DOY$/ (1-366)
* add /Dumpo:2, a concise 2 line output of current options that are set.
* /Lfa3 is now lists dir sytle attributes
* added /Lfd4 =yyyymmdd and /Lfd5 =/Lfd4 but drop yyyy if current year
* added /Lrhe to list total hidden/system entries count
* added /Lfh7 similar to /Lfh6 but if 1 request don't show /Lfh SHC.
* Added /Lfi - indentation operator for use with /Lxlo: handy for alignment
especially when leading /Lrrs summary line including dirs / files don't
line up because user turned off date and/or time fields and for other
alignment issues ... because of the flexibility of the new /Lxlo: option.
* added /Lfp - can list # of search hits (via /Sch:) with other file info!
* Added /Lfq - space shim operator for use with /Lxlo: similiar to /Lfi but
this has single space granularity whereas /Lfi is 4 space granularity.
* added /Lfr options to allow ref number in a non decimal based code.
* added new option /Lrms to give a single record with total number of
messages (warnings/errors) that occurred.
* Added /Lrzz which lists the gives count of all the directories that their
'.' entry matched and wasn't filtered out for any other reason. The zz
stands for zero files and zero dirs were found for the directory (other
than a '.' and/or '..'). /Lrzz2 means give totals and list all such dirs.
* Added /Lxkt: -This option can set the point at which a commatization
occurs, the default style of cssdir or one that closely resembles the one
in dir (when the undocumented dir /v option is used).
* added way to prepend on /List: with /-List:(don't forget any intended ';')
* added way to append on /List: with /+List:(don't forget any intended ';')
* Added xh xs xhs xsh to /s option. By default /s option searches all
appropriate paths even hidden and system ones! User can skip them with
xh for skip hidden, xs for skip system, and xhs to skip hidden and system
ones.
* added way to prepend on /Xr1: and /Xr2: with /-Xr1: and /-Xr2:
* added way to append on /Xr1: and /Xr2: with /+Xr2: and /+Xr2:
* add more verbose stuff try /Ve:9
* added p to /o option to sort on total search hits per file!
* added /Lrtr, which lists the number of dirs/files that occurred
because of hidden and/or system directory bits were set and under normal
dir would not have been transversed. /Lrtr2 lists the total dirs and total
files and total entries.
* added suboption on /List:/AT which sets maximum output display of
totals records (most records that start /Lr are such records)
* added /00 option to shut off all normal output, this allows user
to avoid having to figure out which option displays stuff they are not
interested in being displayed.
* added /BD for out of the Box defaults; And within the context of /List:
its out of the Box Lora defaults (only)
* added /Lxmf: this is a LORA miscellaneous flags option,
see documentation for possible alteration of LORA defaults.
* added suboption '*' on /Ve:* /Vn:* /Soo:* which allows user to revert
back to out of the box defaults for the previous mentioned 3 options.
* enhanced option /a to allow option to use syntax that allows one or more
matches of affected attributes ... i.e. /a$s$h means to match either
system bit and/or hidden bit files. /a$s$hD means match either system
and/or hidden directories only. You can't do this with DIR!!
* added /Lfx suboptions to allow more or less space reserved for line
numbering, also /Lfr similarly enhanced.
* added /Ce3, allows capture of stderr and if abnormal termination occurs
only that message is routed to the console.
* options /Xr1: and /Xr2: are restricted from using a trailing '.',
* fixed /Lft1, 12am and 12pm related issue.
* fixed extended help formating related issue.
* All purchased licensed holders from any CSSDIR 1.xx or 2.xx version will
not have to pay for this significant upgrade, This will be the last such
significant upgrade with no additional fee.
2.03a Jan 24, 2004 (first widely available GA 2.03 release)
* removed some small syntax errors in docs
* added settings line in online help for list field options
* added known issues to 2.03 GA release notes below.
2.03 GA Release January 21, 2004
* MAJOR release
* removed dependencies on classic rexx being active
* major performance enhancements, as much as 2-10+ times faster
* tested with PRO version to handle over 2.5 million file entries (totaling
nearly a half a trillion bytes) sorted 3 different ways on a 1.2ghz AMD
machine withOUT crcs computed and with output redirected, all finished in
under 1 hour, producing a results sorted data file of nearly 1 gigabyte!!
* tested with PRO version on over 200,000 files totaling over 41 gigabytes
of data, WITH computed CRCs and sorted by descending size and 3 other
sorts all in 40 minutes, on a 1.2ghz AMD machine.
* eliminated need for previously included DLL
* reduced non-registered shareware startup nag from 6 to 5 seconds
* fixed easize > 32767 issue
* fixed -o*dups-des issue if last file in list is not zero length
* added -Of: options /APPENDTIME, /NEWTIME, /OVERWRITETIME
* added new -Pf option to give impatient users a preview list of files
* added -Pfof: similar to -Of: but for preview files output -this is used
in tandem with -Pf option where one could also use a unix tail program to
monitor the -Pfof: output file and thereby not pollute your final regular
CSSDIR output, all while getting immediate preview info, Useful on long
non batch requests.
* added utility program cssmon which runs as a separate process, and
can provide basic monitoring state information to any LAN accessible
machine (via netbios) of any active CSSDIR processes. Very handy for
long running HUGE CSSDIR requests, All without messing up normal output.
PRO version licensed required to query for this information.
* changed many options in an unified coded category prefix, LORA options
contain three prefixes -Lf for list field, -Lr for list record,
-Lx for list additional/miscellaneous options. Also -La for list/abort
options, -Sr for search range options, and -Xr for exclude ranges.
Previous versions users will be affected by this.
* added option -Lasfw: and -Lasmw: option, gives warnings control when
binary files are searched and -Lasmw informs if temporarily memory
reserved for searching for text is exceeded and what action to take.
* improved searching binaryfiles and warnings for text strings
* added -Ce; which Combines stderr messages to stdout stream and can 'tee'.
* NOW makes use of major Virtual Memory if WSEB API is available allowing
with a PRO version license Millions of File Entries to be processed on
one invocation and sorted multiple ways without re-Invoking.
* added control over how much memory should be reserved for -Sch: option
and general CSSDIR memory consumption. See environment variables:
cssdirMem and cssdirSchMem
* added handy for parsing output options. See -Lfn3 -Lfn4.
* added -Pt2 and -Pt3 for gathering/Crc computing time
* added -Lrlt for -List: processing Time, lists time it takes to do a
each individual -List: request.
* added /prefix/ and /dirPrefix/ to option -Xr1: -Xr2:, these allow one
now to exclude file/dir entries based on a prefix name (must include)
drive letter or UNC share name. This can exclude a total directory tree!
* added -Pi for providing basic process info (at startup)
so one could get basic info, such as PID (process Id), and Priority
perhaps for monitoring. -Pi Could be useful for use with cssmon utility.
* fixed processing of replacement of symbolics in the command line with
recognizing longest string matches over shorter substrings. Also detects
duplicate symbolics in the CSSDIR ini file, and circular definitions.
* cssdirIni environment variable allows names other than CSSDIR.ini, if
cssdirIni is set it now must contain not just the directory name but
what resolves to a full filespec, this is a difference from versions
1.xx which contained a dirSpec pointing to a named CSSDIR.ini file.
You are unaffected from previous versions if you did not set cssdirIni.
However user defined variables changed from the following format of:
/$uservar:setting to /$uservar$/:setting, you will need to make
changes as such if you wish to use a preExisting earlier version
CSSDIR ini file.
* added system defined symbolics, With these available and unique settings
like /$$PID$/ (process Id) and time one can now easily create unique
temporary filenames for output generation etc. Some of the automatically
generated symbolics follow:
/$$BDRV$/ current boot drive letter
/$$CDRV$/ current drive letter
/$$DATE$/ today's date ; yyyy-mm-dd
/$$DOM$/ day of month ; dd
/$$DOW$/ alpha day of week; ddd
/$$GT$/:> as shown
/$$LT$/:< as shown
/$$MON$/ current month of year; mm
/$$PID$/ this process's ID
/$$TAB$/ tab character; replaces /$$T
/$$TIME$/ current time hh:mm:ss
/$$VBAR$/:| as shown
/$$YEAR$/ current year
To see all the current symbolic settings, try 'CSSDIR -Dumpo:A'.
* renamed system defined symbolic /$$T to /$$TAB$/
* added -Lrrs request summary option, this option gives BASIC (usually
only 1 line) summaries on each Directory (similar to cmd.exe's dir
summaries) or more, see new options: -Lrrs and -Lxrst:.
* added -Lxrst: option which decides which type of request summary report
to use when the new option -Lrrs is non zero.
* added -Tis current time stamp output option on startup
* adjusted -Ve:3 option setting to also show the pasted in cssdirDefArgs
contents as a separate step on CSSDIR invocation startup.
* add -Lfh hintString option to tag with a unique directory or requested
dirspec code to each listed file information line. See -Lfh.
Also see -Lxhp: which allows different placement of the hintString
* add the extremely powerful option -Lxpo: which will allow a user to
merge or (remain separate) all listed requested dirspecs a number of
different ways. See -Lxpo:
* Added -Lxo: as an alias to -o for uniformity with other -Lx options
* replaced -o*asfound with sorting on reference number
* changed meaning of -oR to sort by reference number
* added -oJ to order by relative filespec.
* reArranged sorting that existed previously in version 1.xx. -Lxpo: gives
much more flexibitily.
* CSSDIR core executable has NOT become bloatware!!
* removed or reassigned errors codes from 1.xx.
* All purchased licensed holders from any CSSDIR 1.xx version will not have
to pay for this significant upgrade.
* Known issues:
Cssdir does not list the bulky entries of '.' and '..' and in almost all
cases this is not an issue. However it was discovered when using dir
summaries (available via the new option of -Lrrs), any subdirectories
listings that are completely empty (except for the '.' and '..' entries),
cssdir does not list that directory all by ITSELF. If this case is the top
level requested directory it may not be a surprise at all. However on a
request which contains subdirectory requests (via -s) it may be considered
unusual. We are evaulating this now ... this may be changed in a future
version to list such directories with zero totals, etc. or some control
option thereof.
1.04 Release
extended unregistered expiration date.
1.03 Release August 19, 2003
* minor adjustments to Terms and Agreement section
* fixed register installation issue on a JFS partition
* sorting default was changed to more closely match dir's,
CSSDIR default changed from -o:NG but now matches dir's of -o:GN
* -h and -? adjusted to abbreviated (usually one line per) option help
* added options -hx -?x for eXtended help,
similiar (but now sorted) to -h and -? in CSSDIR versions before v1.03
* options: -h -hx -?x -? are Now organized by category and then sorted
alphabetically by category, also adjusted this document accordingly
1.02 Release August 13, 2003
* added -Lp option, -List: current processing user option settings
* added K option to -Uf:, this detects filename case changes,
also adjusted the listing of contents of directories whose name only
differs in case to be more reasonable for a typical user
* added *OFF option to -Uf:, this shuts off the unique file option filter
* fixed multiple reports problem when using -Uf: with different settings
* added (missing) /Uf: and /Ufao: settings when using -Lh and /Lh
* changed notation of DefGlob* to:
DORA* -(D)ir: (O)ver(R)ide(A)ble option
LORA* -(L)ist: (O)ver(R)ide(A)ble option
* updated and reorganized this document
1.01 first official GA release
* tested on the following systems:
* tested on ecomstation 1.03 (1.0 with fixpack 3)
* tested on ecomstation 1.1
* in preliminary tests for OS/2 Warp 4 with fixpack 9 or greater,
no known problems detected so far.
(C) Copyright 2003-04 Curtis Systems Software P.C. All rights reserved
******************************************************************************