******************************************************************************
   (C) Copyright 2003-2004 Curtis Systems Software P.C. All rights reserved.
               (last update: 2004 Jul 19a)
******************************************************************************

file: cssVsDir.txt (CSSDIR versus standard 'dir' command comparisons)

This is a comparison of some of the key features of CSSDIR to
the standard OS/2, eComStation and Windows dir command. 
CSSDIR has approximately
100 user options some are not listed here, but some of the key
ones are. CSSDIR allows the settings one enters at a command
line from the standard shell of cmd.exe to be saved for reuse
in the CSSDIR.Cfg file. Thereafter you can use a friendly 
name you assigned to the exact options settings you previously
ran CSSDIR with easily. See CSSDIR.txt or CSSDIR.htm and the included 
default cssdir.cfg files for more information on using Symbolics in the 
'CSSDIR cfg file and Customization section'.

CSSDIR is rich in filtering and flexibility. Filtering includes 
limiting files of a certain size, having a certain EaSize or even 
by dates. CSSDIR can sort 100's of thousands of files under 
a standard OS/2 Warp4 system, and even MILLIONS of files under 
eComStation and Windows. It allows vast amounts of control over how one 
sorts as well as which fields are displayed and EVEN the order in which 
they are displayed! It also allows multiple reports perhaps sorted 
in different orders ALL IN ONE invocation. Saving time as well having 
consistent cross referenable data sets over live online systems!! 
You can NOT do that with dir without a tremendous amount of extra effort 
and programming skills!

One important distinct between the default output of Dir versus 
CSSDIR, is the hintString field. This field gives a hint of a number 
of things. If you only request 1 dirspec and no subdirs, its off by 
default. In all other cases (by default), this field will contain a 
counter of the  number assigned to the current dir (aka DCC). This 
becomes very useful when one uses the /s (include subdirs) option.
Having the hintString displayed will make you more quickly aware as 
to a dir Change especially over long dir listings especially when
normal dir headings are off (via option /Lrrs0).

However on multiple requested dirspecs on one invocation, 
(for example cssdir f:\os2\*.exe f:\os2\*.cmd), the 
hintString also appends to the DCC, the assigned short hand code
(SHC). This code represents which dirspec/wildcard combination
this file was found by. You can turn the whole hintString field off
via /Lfh0, but once you get use to it, its very hard to live without!


(START ADVANCED TOPIC)
Other information is conveyed in the hintString, such as
when dirspec requests are being merged or not. 

[You can't merge in Dir!! 
So this concept of merging is probably foreign to you unless you have 
tried some of the examples (in examples.txt) or have viewed the cssdir docs.]

Merging is indicated via the separator between the DCC and SHC, 
a '+' means a merge, a '-' means no merge. The surrounding characters around 
the hintString also convey information, normally they are '[' and ']'
however they can change if the user requests to ignore normal 
ordering within a dir, to '<' and '>' (/Lxpo: decides to merge or not).

The DCC stands for Dump counters code, and when the user does
normal requests its code represents a dir change transition,
where counter totals could be dumped. However in more advanced
style requests, the DCC value represents a transition based
on a user's request or some merging of some sort and dir
transitioning and incrementing the DCC based on dir changes is THEN
usually meaningless and is therefore adjusted appropriately.
(END ADVANCED TOPIC)


Comparisons follow:

 dir     CSSDIR      notes/comments
 ---     ------      --------------
 /a       /a         include files with certain attributes
                     also finds regular files in hidden dirs
                     dir does not unless you specifically request the
                     hidden dir by name.
                     CSSDIR also includes by default all files including 
                     system and hidden. If you wish it to match dirs, which
                     does not include hidden and system files by default
                     add /a-H-S  to your /$cssdirDefArgs$/ in cssdir.cfg file
                     Also cssdir supports finding files with 1 of the 
                     following attributes set. i.e. /a$h$s  will find ONLY 
                     entries with hidden and/or system attributes set, 
                     YOU can NOT do this in DIR ... to do equivalent with
                     dir it will take 3 invocations, or gather all the files 
                     and then parse the output --UGLY!!

                     Finds 8 additional file attributes that are used under
                     windows, and allows user to sift exclusively for them.

 /b       /b,/Bf     bare file listing, CSSDIR has available 7 settings
 /f       /f,/Lff    full filespec    , CSSDIR has available 7 settings
 /l       evaluating lowercase, anybody really need this?
 /n       always     output format of FAT drives are same as HPFS
 /o       /o         order (sort) request, CSSDIR blows dir away here
                     especially when you combine a new option /Lxpo:
                     see below!! Can sort between 250-500,000 files under
                     Warp 4, and if you have WSEB api hook to more
                     VM memory as eComStation has right out of the box.
                     You can sort millions of files in a single
                     invocation, YOU CAN NOT do this with some dirs they
                     can break with as little as 1300 files in a single dir!!
                     Plus the sort is ALWAYS relative within a directory
                     with dir, NOT with CSSDIR!

 /?       /h,/?      help

 help  
 dir      /hx,/?x    eXtended help, CSSDIR.exe does not require pmshell
                     (OS/2 or eComStation)

 /p       evaluating pause on screenful, use cssdirm.cmd or | more.com 
 /s       /s,/sXX    inc subDirs, CSSDIR can also limit the maxDepth
                     handy when you just want to see a few levels down.
                     Also CSSDIR can limit each req of mult reqs of dirspecs
                     differently in regards to the following: to include 
                     subdirs (or depths) or not, attributes of directories
                     to transverse, filesizes, EAsizes, different wildcards,
                     and even dates.

                     example: CSSDIR /Dir:f:\/s g:\

                     which lists all files on drive f: and only files in root 
                     dir of drive G. When you combine this feature with merging 
                     requests via /Lxpo: you can do things that can be very 
                     useful that you ain't ever going to do with dir withOUT a 
                     lot of post parsing and processing (writing your own 
                     scripts)!!!

 /v(OS/2) /Lfa3      show attribute field, CSSDIR has 6 formats
          /Lfa5      super concise 2 characters, in JUST two chars you get a
                     codified value for size of EAs and if file is hidden or
                     a system file, without possibly wasting 5 to chars just
                     for the EAsize field!!
                     In windows there is no such /v option, one must use
                     attrib, super UGLY, but with cssdir just use /Lfa option.:)
          
 /w       evaluating display multiple filenames on one line 

 N/A      /Dir:@     can read a file for a lists of dirspecs
 N/A      /Srd:      select range of dates of files to inc
                     can use ALL, last n days, curNweek, curNmonth,
                     year and multiple ranges can be given
                     examples: /Srd:2003-10-01:2003-10-31 
                               /Srd:today
                               /Srd:curweek 
                               /Srd:curMonth
                               /Srd:-30
                               /Srd:2003;2004-01
                               /Srd:+1    /* finds possible bogus dates */
                               /Srd:-3:-1

 N/A      /Srs:      select range of sizes of files to inc
                     example: /Srs:100000,$  

 N/A      /Srz:      select range of EaSizes of the files to inc
                     example: /Srz:1,$  (matches all non 0 EaSizes)

 N/A      /Wc:       select multiple wildcards to apply over one or
                     more dirs
                     example: /Wc:*.c;*.h;*.cpp f:\proj1 f:\proj2 

 N/A      /Ce        combine stderr to stdout: and also unix 'Tee'
          /Ce3       allows captures of stderr and still notifies on most
                     termination conditions to the console!!
                     
 N/A      /Dumpo:    dumps all options settings
 N/A      /Ecrc:     computes a files CRC on its Ea portion
 N/A      /Fcrc:     computes a files CRC on its contents
 N/A      /Laifs:    can abort on invalid filespecs given
 N/A      /Lanf:     can abort if no qualified files (handy on mult reqs)
 N/A      /Lanu:     can abort on non unique files (mult reqs)
 N/A      /Mf:       can flag files 2 gig or larger (JFS)
 N/A      /Nr:       can flag or exclude files non accessible or locked
 N/A      /Of:       can redirect I/O internally, handy for scripts
                     As well as generate separate files for multiple reports
                     in one invocation (/Of:/m with /List:)!!

 N/A      cssmon     can be monitored locally and remotely (good on Huge reqs)
 N/A      cssrss     (OS/2 only) post sorting of subdir output 
 N/A      /Pt        can list length of time to process the requests
 N/A      /Py:       (OS/2 only) can set the priority of the request internally
 N/A      /Sch:      can search for text string(s) over filtered files
 N/A      /Src:      can limit file Size Range to compute CRCs
                     examples: /Src:1,/$2gig$/
                                
 N/A      /Xr1:      can eXclude files with Suffixes/prefixes 
 N/A      /Xr1:      can eXclude entire dir trees
                     examples: /Xr1:.zip;.rar;.exe;/dirPrefix/f:\os2\

 N/A      /Xr1:@     can read a file for a list of excludes 
 N/A      /Xr2:      same as /Xr1: but excludes apply to computing CRCs
 N/A      /List:     multiple reports sorted differently POWERFUL!!!
                     reports can list different fields and even different
                     fields layout in one invocation, extremely POWERFUL!!
                     examples:  /List:/*;/oen;/Lxpo:*dups-des
                     Also each report can be generated or appended to 
                     separate files!

 N/A      /Lfb       display ea    CRC field
 N/A      /Lfc       display files CRC field
 all/none /Lfd       display date field, CSSDIR has 6 settings 

 N/A      /Lfh       hintString, this is string coded that may
                     quickly give a user looking at CSSDIR output 
                     aware when a transition of a dir has 
                     occurred and/or the location of the file listing as
                     well as whether a merge was requested during a 
                     CSSDIR listing or not. After a user becomes 
                     familiar with this, we believe they will not want
                     to be without it, especially when /Lrrs0 !!

 N/A      /Lfl       display dir level depth number, full or relative
 limited  /Lfm       append trailing \ on dir names
 N/A      /Lfn       display filename separate from path; 6 settings
                     even aligning extensions!!

 N/A      /Lfp       display number of search string hits for each file listed

 N/A      /Lfr       display reference number (great for X-ref) between
                     multiple reports in one invocation.

 all/none /Lfs       display filesize field (5 settings)
 all/none /Lft       display time format 2 formats includes SECONDS!!!
 N/A      /Lfu       display how a files is Unique by fields different
 N/A      /Lfx       number each listed entry     
 all/none /Lfz       display EAsize

 N/A      /Lrab      display count of files with ArchiveBitSet    
 N/A      /Lrcb      display count of files with AllClearBits     
 all/none /Lrdi      display Drive info, freespace/usedspace/size, and great
                     totalling over multiple drives, very handy!

 N/A      /Lref      display count of non0 EAsizeFiles 
 N/A      /Lrhb      display count of files with HiddenBitSet     
 N/A      /Lrll      label each field (heading and trailing labels)
 N/A      /Lrlt      display length of time to process each report
                     of multiple generated reports in one invocation

 all/none /Lrnd      display NumDirectories   
 all/none /Lrne      display NumEntries       
 all/none /Lrnf      display NumFiles         
 N/A      /Lrns      display numEntriesSrched 
 N/A      /Lrrb      display count of files with ReadonlyBitSet   
 limited  /Lrrs      Request summary of listed dirs (like dir)
            +        Request summary over multiple requests
          /Lxrst:    Request summary over requests within a drive
                     Request summary relative dirs!!!!
                     Also adds EASize bytes in summary line
                     Can have heading and/or trailing summary lines or both.

 N/A      /Lrsb      display count of files with SystemBitSet     
 N/A      /Lrse      display SumEASizes 
 all/none /Lrsf      display SumFileSizes     
 N/A      /Lrtbeg:   user assignable report titles 
 N/A      /Lrtend:   user assignable ending titles
 N/A      /Lrtr      show (transversal) count of files not conveniently 
                     reachable with with regular dir, when they lie in 
                     subdirs that are hidden and/or system subdirs.

 limited  /Lrts      display TotalSizes = filelengths + EASizes
 N/A      /Lrzb      displays totals of unusual file attributes
 N/A      /Lxpo:     controls whether to combine requests or not
                     referred to as  PrimaryOrder, blows dir away!
                     can merge requests by fullpath, relativepath, 
                     dir, drive and/or all requests. Also
                     can order multiple requests in a known order
                     via Drive or UNC and Alpha sorted and more!
 
 N/A      /Tis       list current timeStamp on invocation
 N/A      /Deo       can display information on just the '.' of a directory
 N/A      /Mf2:3     filters for invalid dates on files, bad month, day,etc
 N/A      /Ve        verbosity level, allows echo of current arguments,
                     therefore its easy to know exactly what command and
                     its arguments were that generated the listing.

 N/A      /Lfi       indentation of fields and
          /Lfq       space shim of fields. This allows user much flexibility
                     while still allowing alignment of the summary total
                     fields via option /Lrrs

 envVar   ..Defargs  environment variable for default startup settings
 cmdDir              cssdirDefargs and also more convenient
                     /$cssdirDefargs$/ in the ascii CSSDIR cfg file.

 N/A     /$$.#path$/ provides hooks to Unix style power 'which' when used
                     with /Wc: option (see examples.txt) 
                     and see cssdir.cfg /$searchPath$/ symbolic

 N/A     symbolic    /$$AllDrvs$/ /$$RmtDrvs$/ /$$LclDrvs$/
         string for  Handy for power searches or drive totalling for
         all drives  disks freespace, used space over multiple drives.

 N/A     symbolic    assign your own string to a set of options
         recallable  to recall easily later!!! You can have 100's
         settings    in an ascii based CSSDIR cfg file.
                     See the default included CSSDIR.Cfg file.

 N/A    monitorable  could be very useful with telnet sessions!!
        as detach    
        process            

 N/A    duplicates   via options /Lxpo:*dups-asc and /Lxpo:*dups-des 
        finder           

 N/A    unique file  option /Lxuf:
        filter         

 N/A    user defines  user defines which fields should be ignored
        unique        Including which attribute bits!!

 N/A    baseline     detects ANY file changes between filesystem snapshots
        compare      made by CSSDIR (available currently with PRO version 
        facility     at no extra charge).

        CSSDIR       CSSDIR is a native OS/2, eComStation and Windows APP.
                     
                     Under OS/2 and eComStation it can be 
                     run from the command line, even after a simple
                     OS/2 or eComStation alt-f1, CSSDIR is not 
                     dependent on any known additional non standardly
                     available DLL's. CSSDIR has been extensively tested
                     on eCS 1.03. CSSDIR has also been tested on Warp 4
                     with fixpack 12. 
                     Windows version has been successfully tested 
                     with BartPe (bootable CD).

Please note some of the above features are available only with 
the PRO version, For a comparsion of features of the shareware versus PRO.
See CSSDIR.txt or CSSDIR.htm files.

   (C) Copyright 2003-04 Curtis Systems Software P.C. All rights reserved
******************************************************************************
123456789012345678901234567890123456789012345678901234567890123456789012345678
<end of document>
