****************************************************************************** (C) Copyright 2003-2004 Curtis Systems Software P.C. All rights reserved. (last update: 2004 January 21, small revisions Jan 24) ****************************************************************************** CSSDIR version 2.03 GA release. Table of Contents (A.) What is CSSDIR section: (B.) Installation section: (C.) Examples and CSSDIR versus Dir Section: (D.) 25 reasons to purchase CSSDIR section: (E.) Brief Options help section: (F.) Detailed Options help section: (G.) Options Summary Alpha Sorted Table Section: (H.) Detailed CSSDIR license feature comparisons section: (I.) Error/warning/information message codes section: (J.) CSSDIR ini file and Customization section: (K.) Other Utilities section: (L.) Hints, tips, issues and caveats section: (M.) Definitions/references section: (N.) Terms and Agreement Section: (O.) Acknowledgments section: (P.) Release Revisions section: ****************************************************************************** (A.) What is CSSDIR section: **************************** CSSDIR is a significant directory/file analyzing and file searching program developed and copyrighted (C) 2003-2004 software, documentation and nomenclature by Curtis Systems Software P.C., All rights reserved [see (N.) Terms and Agreement section:]. It stands for (C)urtis (S)ystem (S)oftware (DIR)ectory program [visit our website at www.curtisSystemsSoftware.com]. We Know of NO other more versatile, flexible or powerful directory program for the OS/2 or eComStation (eCS) operating systems. It also supports the most important commonly used OS/2 and eComStation included cmd.exe's dir options, with a slightly modified syntax, i.e. -s for /s, -a for /a, -o for /o, etc., for increased flexibility. Some of CSSDIR powerFULL product Features include: Search for files by file size and/or EA size or range of sizes, user specified search string(s), and EVEN by DATE or range of dates, [includes many shortcuts i.e. for files accessed today use: 'cssdir -Srd:Today' or 'cssdir -Srd:.' or for the Last n days: 'cssdir -Srd:-n']. Find duplicate files over multiple drives or network shares and EVEN under DIFFERENT file names, sorted by ascending/descending sizes. Find unique files amongst two or more paths, Great for file tree compares! Compute crcs on a file's data and even EAs integrated with other important file information (Great for baseline comparisons). Produce baseline snapshots to compare differences in determining exactly what files have changed including file attributes and EVEN EAs. Produce detailed multiple sorted listings over multiple drives including network drives and UNC in one invocation and pass (saving you time). Ability to selectively Exclude files (single files, groups of files or whole directories of files). The exclusion can be based on file prefix, file extension (i.e. suffixes like .zip, .rar, .tmp, etc), or directory name. Multiple exclude sets can be defined. All options (that make sense) can be combined to limit or increase the files to be included or excluded in the user request(s). POWERFUL! User controls how much or how little information is displayed, as well as customize their own private shortcuts for later use! And much more. Shareware and Pro versions. Quantity discounts available. Professional version includes: reading filespecs out of files, reading exclude suffixes (and prefixes with version 2.X) out of files, no limit on files processed, no limit on multiple reports in one invocation, capable of being monitored by external utility 'cssmon' over a LAN, and access to the snapshot (baseline) compare utility (cssddiff). ****************************************************************************** (B.) Installation section: ************************** 1.) read the (N.) Terms and Agreement Section: 2.) If you accept these terms and Agreement then skip to step 3 otherwise remove CSSDIR and its documentation from your computer(s). 3.) Create a directory called CSSDIR. 4.) cd to this newly created directory CSSDIR. 5.) Unzip the CSSDIR zip file you received into this directory 6.) Adjust config.sys path statement to have CSSDIR in its path, and don't forget to put the drive letter in there also i.e. X:\CSSDIR where X is drive you created \CSSDIR on. Performance may be improved by placing X:\CSSDIR as the first item in the path statement. 6a.) If you do not want to change your path, you can always give the full path or enough of the path so OS/2 or eComstation can find the CSSDIR.exe. i.e X:\CSSDIR\CSSDIR.exe. (Where X:\CSSDIR is the drive/dir you unzipped the CSSDIR zip file into.) 7.) If you chose to update your config.sys path and also wish to simply enter 'cssdir' without being in the CSSDIR installed directory, Reboot; This will update the path and thereafter OS/2 or eComstation will be able to find 'cssdir.exe' whenever you enter 'cssdir' or 'cssdir.exe'. 8.) Copy the cssdir.key file you received into the CSSDIR directory and register the software via 'cssdir /Register', if you do not register you will only be able try a limited but still quite powerful subset of CSSDIR features on a "trial" basis legally for up to a period of 30 days without purchasing a license [See (N.) Terms and Agreement section:]. 9.) if you are running a 1.xx previous version, you may delete the NOW non used cssutil.dll. 10.) Enjoy CSSDIR; Also see FAQ at www.curtisSystemsSoftware.com. ***************************************************************************** (C.) Examples and CSSDIR versus Dir Section: ******************************************** See examples file examples.txt and also see file cssVsdir.txt file for comparisons of CSSDIR versus the cmd.exe's DIR command. Trying out some of the examples while referencing this document is probably the fastest way to utilize CSSDIR's flexibility and power. (D.) 25 reasons to purchase CSSDIR section: ******************************************* Cmd.exe's dir supported options are very similar but CSSDIR allows a much more powerful syntax for dir's /a /s /b /f, with corresponding options of -a and /a, -s and /s, -b, -f. It also greatly improves on dir's options. The following document describes the Professional version of CSSDIR, a limited shareware and less expensive version, but still very powerful, [see (H.) Detailed CSSDIR license feature comparisons section:] Some significant enhancements include: 1.) All directories requested CAN be treated as a group (via the -Lxpo: option) and is way more POWERFUL than the limited cmd.exe dir's sub directory by sub directory sorting basis and listing. Try 'cssdir -Lxpo:ax -oS dir1 dir2', where dir1 and dir2 are two different valid directories on your system -- then notice that CSSDIR lists both directories combined and then sorted based on the ascending file size, subdirectories can also be included. We have tested data sets that have included over a 2.5 million files over multiple machines over multiple drives which included FAT, HPFS, CWFS, LAN, UNC referenced, and JFS under eComStation 1.03. This sorting capability over multiple directories ALONE is reason enough to purchase this program. [see options -oS, -s, and -Lxpo:] 2.) Date range of files to include, even multiple date ranges on multiple separately restricted directories [see option -Srd: and -Dir:]. To find all non hidden and system files that have a timestamp of today's date on the complete f drive sorted by ascending date/time Use: 'cssdir -Lxpo:ax -s f:\ -Srd:. -oD' (less the two enclosing '). If you want to include system and hidden files then use 'cssdir -s f:\ -Srd:Today -oD -a' or 'cssdir -s f:\ -Srd:. -oD -a*H*S*A*D*R'. 3.) Limit by a file size range, and on multiple separately restricted directories [see option -Srd: and -Dir:]. If your OS/2 or eComStation boot drive is f: then try 'cssdir f:\os2\system/s;f:\ -Srs:70000,$' this will list all the files that have a size of 70,000 bytes or greater and exist in the f:\os2\system and its subdirectories and any stored in the f:\ directory. 4.) Limit by Ea size range, and on multiple separately restricted directories [see option -Srz: and -Dir:] To find only files with ea sizes greater than zero use 'cssdir -Srz:1,$'. 5.) Significant sorting enhancements to dir's /o option, CSSDIR adds sorting on relative directories (via -Lxpo:) on Full file specification (via -Lxpo:), and sorting on a file's Ea Size ALL capable over multiple drives and filesystems. [see option -o and -Lxpo:]. Multiple user requests on one invocation can all be combined in various ways by setting the -Lxpo: option. For example 'cssdir -Lxpo:ax c:\ d:\ -s -o-s' will combine all files found on drives c and d and sort by descending file size. Whereas 'cssdir f:\os2\ f:\ g:\' will limit the ordering within each of the three directories. (-Lxpo: is an extremely powerful control option, it controls the primary ordering of file/dir entries while it's effects can be seen within a request that spans multiple directories and/or over multiple requests for the current CSSDIR invocation.) 6.) Flexible multiple listings, perhaps ordering (sorting) by different fields, more or less information to be displayed ALL in one pass over the file system(s), in many cases can be a huge convenient and time saver. [see option -List:, a must for POWER or advanced users!] 7.) Comparing two or more directories and listing the unique files amongst the group. This option also allows the user to control whether more than just a unique relative pathname is in fact unique based on the user modifiable definition of unique. The user can include/exclude a file's date timestamp, filesize, filecrc, Easize, Eacrc and even individual file attributes in this determination of uniqueness! [See -Lxuf: and -Lxufao:] If you have two directories you wish to find unique files amongst them but ignore the date timestamps in the compare try 'cssdir dirA dirB -Lxuf:-D -Fcrc:y -Lfc' and at other times you may need to also ignore the archive and readonly attribute bit, try 'cssdir dirA dirB -Lxuf:-D -Fcrc:y -Lfc -Lxufao:-a-r' or 'cssdir dirA dirB -Lxuf:-DA -Fcrc:y -Lfc -Lxufao:-a-r'. 8.) Computation and listing files data crc values which can be used for many different other test scenarios. [See -Fcrc:] 9.) Computation and listing of a Files EA crc Value!!!. CSS knows of no other program which does this important and sometimes very critical checkout of EA values. [See -Ecrc:] 10.) Exclude files in listing based on suffixes, which can include full file specifications and one can also read a group of such files from a exclude file. [see -Xr1: and -Xr1:@ ] Again, You can't do this with cmd.exe's dir! With version 2.X you can NOW exclude entire directory trees, or files that begin with a certain prefix, use -Xr1:/prefix/ or -Xr1:/dirPrefix/ followed by a prefix or directory name i.e -Xr1:/dirPrefix/f:\os2\, this also applies to the -Xr2: option (which is used to exclude files in computing their CRCs on if -Fcrc:y is active). 11.) Sorting multiple groups of file systems sources including UNC names by relative pathnames. [See -on and -Lxpo:ar]. When using this in conjunction with having '-Lfn2' and '-Lff1' active can be a very fast way of deciphering commonality or differences amongst similar directory trees over multiple drives, directories, shares and networks. Again, You ain't doing with with cmd.exe's dir! 12.) Extremely powerful duplicate files detection function. It can work across multiple drives and can many times detect duplicates files even though the files are named differently! [see -o*dups-asc and -o*dups-des]. Getting rid of duplicate files might speed up your backups, processing, etc. 13.) Exclude files to do crc computations on by suffixes and (now with version 2.X CSSDIR, by prefixes and directory names), which can include full file specifications, and one can also read a group of such files from an exclude crc file. [see -Xr2: and -Xr2:@] 14.) Limit doing crc computations on a specific range of file sizes. [see -Src:] 15.) File system snapshots which can be analyzed by the optional tool cssddiff which will list all changes between snapshots, With the exception of a handful of files which might be locked down, this snapshotting can be done on a live system. (It is possible that some files could be in a state of flux, and a subsequent invocation could immediately have different crcs with new and/or deleted files - but this should go without saying, the other alternative is to boot from another partition and/or off a cd and then invoke CSSDIR.) 16.) Powerful symbolic user definable strings which can make use of CSSDIR more personal and have more easily remembered 'canned' invocable settings. [see CSSDIR.ini and environment variable cssdirIni], Starting with version 2.x you can now referenced all of the current session's environment variables. Also see (J.) CSSDIR ini file and Customization section: 17.) Has a corresponding environment variable to cmd.exe's dir's 'dircmd' for user customized defaults settings. [See cssdirDefArgs environment variable as well as a more convenient method to set your own defaults within your CSSDIR ini file by adjusting the symbolic definition named: /$cssdirDefArgs$/.] 18.) Optional settings on just what fields should be displayed and in different formats. Very powerful and useful. Defaults are initially set to be similar to cmd.exe's dir listing date, time, filesize, easize, filename, total file sizes, total entries found, and total free space on drives queried. 19.) Summary only option of totals information. [See -o*summary] Try 'cssdir -List:/o*summary/1/Lrdi3' which will turn on all total record fields with the settings to default 1 and then list the drives information free and used space. see '-Lrdi3' option. 20.) Multiple wildcards over all requested or just some specific directories; much more concise then cmd.exe's dir approach. For instance try 'cssdir dir1 dir2 dir3 dirn -Wc:*.c;*.h;*.txt;*.hpp' ... this would search for all files with the following extensions '*.c' '*.h' '*.txt' '*.hpp' over dir1, dir2, dir3, dirn, and you can also determine exactly which wildcard group the filespec was first to match or where the duplicate matched filespecs occurred in finding a file. [see -Foo: and -Lanu:] 21.) Because there's no other known comparable directory program for the OS/2 and/or eComStation operating systems with more than 75 user selectable options and if you figure in overrides its well over 100 user selectable options (some with multiple settings) and of which you can package or 'CAN' your commonly used perhaps lengthy option settings into a single reusable friendly symbolic definition in your CSSDIR ini file (usually named CSSDIR.ini). 22.) Further filter files by matching text [see -Sch: and -Scho:]. During filtering and gathering files CSSDIR also searches the found file for the text you requested with the -Sch: option and then keeps or discards based on if the requested text string(s) are found. 23.) Output can be redirected directly into the zip.exe -@ option to quickly back up files or a separate step with very limited (if any) manual editing which can then be redirected into zip.exe. 24.) Multiple listings can be assigned with user customized labels. [See -Lrtbeg: and -Lrtend:, for list record title begin and list record title end], Can be handy if you wish to parse (perhaps using rexx) the output for other purposes. 25.) There are many things that CSSDIR can do that are either impossible or very difficult to do without CSSDIR or require a half dozen other tools and perhaps require repeatedly hunting and then poking at a GUI-only tool; CSSDIR is a TREMENDOUS tool for system checkout and base lining. Private consulting is available. For more information visit: www.curtisSystemsSoftware.com. ****************************************************************************** (E.) Brief Options help section: *********************************** Below lists the basic online help which is reproducible for CSSDIR, by invoking 'cssdir -h' or 'cssdir -?'. For more eXtended online help use '-hx' or '-?x'. [start inserted cssdir -h follows] $Help for CSSDIR 2.03 Copyright (c) 2003-04 Curtis Systems Software P.C. usage follows: CSSDIR [options] option default decription -hx display eXtended help -h display help -?x alternative way to display eXtended help -? alternative way to display help /Register registers CSSDIR; i.e. 'cssdir /Register' **** -Dir: and DORA* (-Dir: OverRideAble options) **** -Dir: [.] directories -a [:-H-S] attr: -a -a[:][ADSHR-*] -s [CUR] subdir CUR,ALL,NO or -sxx (xx = maxLevelDepth 2-99) -Srd: [ALL] range of dates: -n,all,curNweek,curNmonth (N = 1 to 13) -Srs: [ALL] range of file Size: all, $=no high limit i.e. -Srs:1000,$ -Srz: [ALL] range of Ea Size: all, $=no high limit i.e. -Srz:1,$ -Wc: [] wildcards **** NORA - non OverRideAble options (1 setting per CSSDIR invocation) **** -b [0] 0=off 1=on; -b or -b1= -Bf1; with -s its -Bf3 -Bf [0] Bare -Lff fld -Ce [0] Combine stderr to stdout; useful for 'more' 1,2 -Daws: [0] weekStart day 0=Mon,1=Tue,2=Wed,3=Thu,4=Fri,5=Sat,6=Sun -Dumpo: [N] dump options settings Y,N,A=all S=A+sort B=brief .. -Ecrc: [N] compute Ea crc Y,N -f [0] 0=off 1=on; -f or -f1 is alias for -Bf3 -Fcrc: [N] compute file crc Y,N -Foo: [0] foundOutputOption 1=found and totfound 2=totfound only -Laifs: [L] List/Abort if invalid filespec/dirspec(s) A,L,Y -Lamcd: [A] List/Abort mixedCase dup filespecs found A, Y -Lanf: [L] List/Abort if no (qualified) files found A,L,Y,0 -Lanu: [L] List/abort non unique file names found A,L,Y,0 -Lasfw: [L] List/abort search file warning A,L,S,T,Y,Z,0 -Lasmw: [L] List/abort -Sch temp memory exceeded warning A,I,L,S -Mf: [-X-R-2] Miscellaneous Flags -Mf:[BCZYXR2-]'-Mf:'= -Mf:BCZYXR2 -Nr: [0] noReadAccess:1=prelist 2=exc 3=2 silent 4=inc 5=4 silent -Of: [stdout:] outFile [/NEW | /OVERWRITE | /APPEND | /APPENDTIME ...] -Pfof: [stdout:] PfoutFile [/NEW | /OVERWRITE | /APPEND | /APPENDTIME ...] -Pf [0] PreviewFile rec 1=All 2=1 noAttr# 3=#fspec 4=fspec ... -Pi [0] ProcessInfo rec 1=console 2=stderr 3=stdout 4=-Of: ... -Pt [0] ProcessTime rec 1=tot 2=gather 3=1+2 -Py: [*] priority *=noChange 0=lo 40=hi 0-31 idle 32-40RegClass -Sch: [] searchString /Cstr /Istr both=+ either=$ -Scho: [1] SearchString hits 1=line summary 2=1 + details -Soo: [1] SearchOutputOption 1=showNondefault 2=showMult 3=always -Src: [ALL] file Size Range to compute CRCs -Tdir: [] Temp directory; Used with -Ecrc:y -Tis [0] curTimeStamp 0=off 1=timeStamp -Ve: [2] verbose level 0=off 1=basic 2=SYM translation 3=DefArgs .. -Vn: [1] display version 0=off 1=basic 2=all -Xr1: [] eXclude files with Suffixes/[/prefix/ ...] ... -Xr2: [] eXclude files with Suffixes/[/prefix/] for computing CRCs **** -List: and LORA* (-List OverRideAble options) **** -List: [/*] list of order type(s) ** -List: displayable field (Lf) options ** -Lfa [0] Attribute 1=----; 2=----- (includes Dir) -Lfb [0] eaCrc -Lfc [0] fileCrc -Lfd [1] Date 1=mm-dd-yy; 2=yyyy-mm-dd 3=ddMmmyy -Lff [5] FileSpec 0=off 1=relFSpec 2=relReqPath 3=fullSpec -Lfh [1] hintString format of hintString 4=[DCC(+|-)SHC,DH] -Lfl [0] dir Level 1=level 2=RelativeLevel 3=1+2 -Lfm [0] dir flag 0= no trailing \ 1=trailing \ -Lfn [0] fileName 1=name.ext 2=1 format 3=1/ 4=2/ ... -Lfr [0] Reference Num 1= regular 2=1 +';' handy for searching -Lfs [1] fileSize 1=with <DIR>; 2=all numeric -Lft [1] Time 1=hh:mm* ; 2=hh:mm:ss ; -Lfu [0] Unique file 1= list b4 -Lfr 2=list b4 -Lfd -Lfx [0] number entry -Lfz [1] EaSize ** -List: displayable record (Lr) options ** -Lrab [0] ArchiveBitSet -Lrcb [0] AllClearBits -Lrdi [1] Drive info 1=freespace 2=usedSpace 3=1+2 -Lref [0] non0 EasizeFiles -Lrhb [0] HiddenBitSet -Lrlh [0] ListingHead 1=head 2=tail 3=both -Lrll [0] listingLabel 1=head 2=tail 3=both -Lrlp [0] ListOptionProc 1=head 2=tail 3=both -Lrlt [0] -List: ProcTime for the cur list entry -Lrnd [0] NumDirectories -Lrne [1] NumEntries -Lrnf [0] NumFiles -Lrns [1] numEntriesSrched 1=fbss 2=1Always 3=bytes 4=3Always -Lrrb [0] ReadonlyBitSet -Lrrs [3] Request summary 1=beg label 2=end Label +totals 3=1+2 -Lrsb [0] SystemBitSet -Lrse [0] SumEaSizes -Lrsf [1] SumFileSizes -Lrsl [0] shorthandList ; list codes for basePath of dirSpec -Lrtbeg: [] listTitle ; for multiple lines; #=cr/lf -Lrtend: [] ending listTitle ; for multiple lines; #=cr/lf -Lrts [0] TotalSizes ; filelengths + eaSizes ** -List: other (Lx) options ** -Lxhp: [0] -Lfh position 0= -Lfn -Lfh -Lff; 1=-Lfh -Lfn -Lff -Lxpo: [N] PrimaryOrder: -Lxpo:[N|AR|DR|NX|AX|DX|AF|DF] .... -Lxrst: [0] RequestSumType; 0=dir?avail/request 1=reqSum 2=dir?avail -Lxuf: [*OFF] UniqFile -Lxuf:[KDSCZBA-] '-Lxuf:' = -Lxuf:KDSCZBA -Lxufao: [] UniqFile attrib -Lxufao:[ADSHR-] -Lxo: [:GN] -Lxo: is an alias for '-o'; see -o -o [:GN] Order:-o[:][GNEDSZRFJ-] *SUMMARY *DUPS-ASC *DUPS-DES **** Environment variables of interest: **** cssdirTmp ;used for scratch space for option -Ecrc:y if -Tdir: isn't set cssdirDefArgs;used for your default options preferences cssdirIni ;used for your powerful symbolic user definable strings cssdirMem ;used for general memory Limit in MegaBytes cssdirSchMem ;used for -Sch memory Limit in MegaBytes cssdirSymProcessing; '=Show' to show Symbolic processing **** Layout of horizontal fields (if appropriate options are active) **** desc: ### dat tim siz crc esz ecrc att uq* rn dl fn '\' hs* fspec'\' option: Lfx Lfd Lft Lfs Lfc Lfz Lfb Lfa Lfu Lfr Lfl Lfn+Lfm Lfh Lff+Lfm settings: 2 4 3 3 2 2 2 3 3 3 4 7 2 7 7 2 ** Visit us and purchase at www.curtisSystemsSoftware.com ** Current registered license=NONE. For use beyond the 30 days trial period of this software, register it or you must discontinue using it. Read the enclosed terms and agreement before using and/or continuing to use. For more powerful versions (paid shareware version and PRO versions), Download and purchase from the above website; Quantity discounts available. Copyright (c) 2003-04 Curtis Systems Software P.C. All Rights Reserved. [end inserted cssdir -h] ****************************************************************************** (F.) Detailed Options help section: *********************************** The following describes in detail all of the options available when invoking the CSSDIR program. DORA* stands for a global option that is (O)ver(R)ide(A)ble within the context of the -Dir: option. An option marked as such is a global option setting which can be overridden specifically via a leading '/' instead of a '-' within the context of the -Dir: option. DORA* options include /a /s /Srd: /Srs: /Srz: /Wc:. LORA* is similar to DORA* but applies to the -List: option. LORA* options include: /Lfa /Lfb /Lfc /Lfd /Lff /Lfh /Lfl /Lfm /Lfn /Lfr /Lfs /Lft /Lfu /Lfx /Lfz /Lrab /Lrcb /Lrdi /Lref /Lrhb /Lrlh /Lrll /Lrlp ?Lrlt /Lrnd /Lrne /Lrnf /Lrns /Lrrb /Lrrs /Lrsb /Lrse /Lrsf /Lrsl /Lrtbeg: /Lrtend: /Lrts /Lxhp: /Lxpo: /Lxrst: /Lxuf: /Lxufao: /Lxo: and /o. A user can also indirectly overide -Lff using -b -f -Bf option. Generally this overriding capability is not important unless you wish to have multiple listings done with only invoking CSSDIR once, then it can be extremely powerful and on large data sets much much faster. Multiple listing reports in one pass (or CSSDIR invocation) also have the advantage of consistent data sets that might otherwise change between invocations on a live working system. -List: option is really useful for the "POWER" and/or advanced users, especially system administrators and developers. Note: in the following individual option descriptions the format follows: first the option name is listed followed by [in brackets] its default setting and then a lengthy description. Also note the option themselves are case sensitive, you will get an error if you try to use -LFA instead of -Lfa. Most options start with a leading uppercase letter and are followed by all lowercase letter(s) and perhaps a colon. There are a few exceptions to this -a -s -o -b -f and perhaps a few others (that may be added in the future). option default description -hx display eXtended help -h display help If '-h' is specified anywhere on the command line, a brief or reference type help is displayed for CSSDIR and all other parsing of options if any are ignored. The significant of anywhere on the command line is so the user can easily adjust or recover after querying help by quickly and simply removing the trailing -h from the command line. Tip: you may wish to use the included cssdirm.cmd rexx script to pipe any of your CSSDIR invocations through the OS/2 more.com or replace with a more powerful paging program. It can be handy to view the online CSSDIR reference style help by issuing 'cssdirm -h'. TIP: capture the current version of help with 'cssdir -h > cssdirH' or for extended help use 'cssdir -hx > cssdirHX' and then use your favorite editor to view either cssdirH or cssdirHX. -?x same as -hx -? same as -h **** -Dir: and DORA* options **** --------------------------------- -Dir: [.] starting directory or directories The directory or directories you wish to search for matching entries. It can contain normal wildcard characters or just directory names or explicit complete filespecs. One can use two different syntaxes for this option. CSSDIR explicitly supports the usage of '-Dir:' or assumes implicitly anything that doesn't start with a '-' or '/' to be dirspec. The user can run directories and or filespecs together with no spaces by puting an immediate ';' between them. (begin advanced section) If you need to use a ';' as a filespec or directory, first escape (its normal meaning) with a leading '~'. Such as 'CSSDIR -Dir:c:\os2;c:\ibmlan;c:\my~;dir;c:\ibmcom'. This would search the following directories: 'c:\os2' 'c:\ibmlan' 'c:\my;dir' 'c:\ibmcom'. One can also append specific overiding options to each of the entries. i.e. 'cssdir -Dir:c:\os2/s;c:\ibmlan/a;c:\my~;dir/Wc:*.c~;*.h;c:\ibmcom'. This would search 'c:\os2' directory and all its subdirectories, search the 'c:\ibmlan' directory including all files hidden and system, search the 'c:\my;dir' including only files with matching wildcards '*.c' and '*.h', and search the c:\ibmcom directory. [Please note the '~;' instead of just ';' in between '*.c' and '*.h' is necessary because otherwise it would be processed by CSSDIR to mean search for '*.h' in the current directory and not in 'c:\my;dir'. (end advanced section) The following overiding defaults (aka DORA*) available to the -Dir: option include /Wc: /s /a /Srd: /Srs: /Srz:. Also available to use with -Dir is @dirspecs. The @dirspecs means one can request CSSDIR to open 'dirspecs' file and fetch 1 per line directory specification to search for matches. The option -Dir:@ is very useful to compile a selected 'canned' set of files you wish to do CRCs on or zip into a daily backup etc. Also If a dirspec starts with a '-' then the explicit use of '-Dir:' will not interpret it as an option but rather as a dirspec. For instance, '-Dir:-searchFormyfilesthatBeginWithAhyphen'. Also if any dirspecs contains any spaces then enclose such dirspecs in '"' or "'". i.e. 'cssdir "program files"' or 'cssdir -Dir:"program files"'. -a [:-H-S] DORA* attr: -a -a[:][ADSHR-*] '-a' is alias for -a:*A*D*S*H*R A include entries with Archive bit set D include Directory entries S include System entries H include Hidden entries R include Readonly entries * don't care attribute - reverse above sense; do not include entries. For example '-H' will not include hidden entries. Similar to cmd.exe's 'dir /a', it includes only those entries that have such attributes. To find all hidden files on drive f try 'cssdir f:\ -s -aH' or 'cssdir f:\ -s -a*a*d*sh*r'. If you want to list the files' attribute bits also add '-Lfa1' or '-Lfa2'. -Srd: [all] DORA* date range(s) of files to include; This option limits which files will be searched based on its last update timestamp. To limit it to a specific date, for instance for May 31, 2000. Use '-Srd:2003-05-31'. For a specific range (include both endpoints [inclusive]) use '-Srd:2003-05-31:2003-06-15'. Also note there are many shortcuts for commonly used ranges: To include just the files that changed since Monday of the current week inclusive use '-Srd:curweek', For all files with timestamps since including the previous Monday inclusive use '-Srd:cur2week', ... up through -Srd:cur13week. For just today use '-Srd:.' or '-Srd:today'. For just the year 2003 use '-Srd:2003'. For the month of June in 1999 use: '-Srd:1999-06'. For the current month use '-Srd:curmonth' ... up through '-Srd:cur12month'. For date ranges that are not continuous use something similar to this '-Srd:2003;2002;2001-06' this will include only files having timestamps which include a year of 2003, 2002, and the month of June of 2001. When using -Srd:curweek (or curNweek where N is 1 to 13), one can have define what day starts the week via option '-Daws:', by default -Daws:0 is set to having Monday as the start of the week. To change for all invocations to have day of week start on a Sunday add -Daws:6 to /$cssdirDefArgs$/ in you CSSDIR ini file. (begin advanced section) You can also append a date range onto a given dirspec by using '/Srd:' instead of '-Srd:' But if you are using multiple ranges you must escape the semicolons with '~' otherwise it will take the date range as a dirspec. For instance if dirspec was 'c:\' use 'c:\/Srd:2003~;2002~;2001-06' if you do not use the '~' as such, then the directories searched will be 'c:\' with date range of 2003 and then the directory 2002 and directory 2001-06 which most likely was not intended, but is entirely acceptable with CSSDIR. You can also limit the list to the last n days by using '-Srd:-n', where n can be a number from 0 to 999 days. (end advanced section) -s [CUR] DORA* include subDirectories, '-s' is an alias for -sALL; '-sCUR' for current Dir; '-sNO' for none. '-s' is similar to cmd.exe's /s but also allows -sNO which does not include the names of immediate subdirectories. Also can control maxDepth from 2 to 99 by using -s2 ... -s99. -Srd: [all] DORA* Size Range: With a setting of '-Srd:all', this option will not exclude any files based on its size. '-Srd:1000000' will limit the range to files only 1000000 bytes in size. '-Srd:0,15000' will limit to files under 15001 bytes; '-Srd:1000,$' will limit files to 1000 bytes or larger. -Wc: [] DORA* wild card(s) Very convienient to apply multiple wildcards over multiple directories. i.e. '-Wc:*.c;*.h;*.cpp;*.hpp' or './s/Wc:*.c~;*.h~;*.cpp~;*.hpp' works in conjunction with -Dir: option. -Srz: [all] DORA* EaSize Range With a setting of '-Srz:all' it does not exclude any files because of their Ea size; With a setting of '-Srz:1000,$' allows only files whose Ea size is at least 1000 bytes in size; To list non zero Ea sized files use '-Srz:1,$'. **** NORA- non OverRideAble options (1 setting per CSSDIR invocation) **** -------------------------------------------------------------------------- -b [0] With a setting of '-b1' or just '-b' it is an alias for -Bf1; if the '-s' or '-sALL' or -sXX (2-99) is also active then '-b1' or '-b' is an alias for '-Bf3'. Similar to cmd.exe's 'dir /b'. -Bf [0] Bare -Lff field, see -Lff field description. -Ce [0] Combine stderr to stdout; Useful for proper stderr output ordering (with CSSDIR version greater than 1.xx) if 'more' or similiar filter program is used. Use -Ce1 to combine stderr to stdout. -Ce2 is the same as -Ce1 but also still routes to stderr, this is similar to an Unix style 'tee'. -Dumpo: [N] dump options settings Y=yes N=no A=all B=brief S=sorted This option when active (isn't set to -Dumpo:N) lists all the options current settings. The 'A' setting will also dump the contents (if any) of all the symbolic definitions from CSSDIR.ini file (including automatically defined system ones) defined also with the other options. To continue normal processing after listing the options settings append '/C', i.e. -Dumpo:b/c. -Ecrc: [N] compute Ea CRC With a setting of '-Ecrc:Y' files with eas will have a computed Ea attempted, That value can be displayed with listed entries using the '-Lfb1' or just '-Lfb' option. Also see -Tdir: and environment variable cssdirTmp, which may be used for any needed temporary disk scratch space. -f [0] -f or -f1 is alias for -Bf3 With a setting of '-f1' or just '-f' this is similiar to cmd.exe's dir /f option. [also see -Bf] -Fcrc: [N] compute file CRC With a setting of '-Fcrc:y' file computing is requested unless some other file options indicate to exclude otherwise [see -Src: -Xr2: -Srs: -Xr1:], To have the crc displayed use -Lfc. -Foo: [0] foundOutputOption This option if set to '-Foo:1' will list each dirspec result of found entries and a total count of found entries after all dirspec(s) are searched, if '-Foo:2' then only the total count of found entries will be displayed. Also if '-Foo:' is either 1 or 2 and multiple dirspecs have been specified to CSSDIR, the shCode associated/assigned maybe listed if the currently selected -Lff allows this. See also -Lff option settings. -Laifs: [L] List/Abort if invalid filespec/dirspec(s) A abort on first such dirspec/filespec L list all such dirspec/filespec Y same as A but lists all before aborting With this option setting the user will be appropriately notified via CSSDIR writing to stderr: with the corresponding CSSDIRyyy: error/warning message code if an invalid filespec/dirspec is given. [See (I.) Error/warning/information message codes section:].TIP: In automated scripts for diffing two directories -Laifs:A can be very handy for checking for invocation errors. -Lamcd: [Y] List/Abort if mixedCase duplicate filespecs found A abort on first such filespec Y same as A but lists all before aborting With this option setting the user will be appropriately notified via CSSDIR writing to stderr: with the corresponding CSSDIRyyy: error/warning message code, when a filespec matches a previously found one that only differs in filename case. [See (I.) Error/warning/information message codes section:]. This notification could come from IFS drivers that allow access to file systems that can have mixed case file names. i.e. NDFS netdrive mapped to UNIX systems, see caveats section. Currently CSSDIR does not continue processing when such cases are detected. -Lanf: [L] List/Abort if no (qualified) files found on dirspec(s) A abort on first such dirspec/filespec L list all such dirspec/filespec Y same as A but lists all before aborting 0 shut off With this option setting the user will be appropriately notified via CSSDIR writing to stderr: with the corresponding CSSDIRyyy: error/warning message code, when a dirspec given does not produce any qualified files. [See (I.) Error/warning/information message codes section:]. TIP: In automated scripts for diffing two directories -Lanf:A can be very handy for checking for invocation errors. -Lanu: [L] List/Abort if non unique filespec found A abort on first such non unique filespec found L list all such non unique filespec found Y same as A but lists all before aborting 0 shut off With a setting of '-Lanu:L' will list during initial search all files that CSSDIR has already detected as the same file. '-Lanu:A' will abort as soon as it finds the first such file, '-Lanu:Y' is the same as '-Lanu:A' but lists all such instances before aborting. Please note, CSSDIR does *NOT* detect the file as non unique if you mapped a file via a network drive or use a UNC and also access the same file(s) under another method. This can lead to totals being wrong and files unknown to be the same file to be listed twice, as well as also report as potential duplicates (when using the -o*dups-asc or -o*dups-des) hence be careful if you are doing these tricks especially when you deleting what was thought to be a duplicate file. This option may also warn you when using NDFS, see caveat section when using NDFS ifs driver. It is recommended to leave this setting to have a non zero setting. -Lasfw: [L] List/Abort search file warning; (binary or line too long) A abort on first such search file warning L list all such search file warning(s) S skip/exclude the file containing the warning T same as Z but list total files per dir/filespec Y same as A but lists all before aborting Z same as S but do it silently 0 shut off This option is used in conjunction with the -Sch: option. If -Sch: is used on non standard text, aka binary files or files that have lines that are abnormally long. It may not find all the occurrences of search strings because of line breaks and max lines exceeded ... and you should receive appropriate messages if they are enabled when doing such a search that contains such files. -Lasmw [L] List/Abort search temporary memory exceeded warning A abort on first such warning L list all and include results so far S skip and exclude the file containing the warning I include file and results so far but don't warn This option is used in conjunction with the -Sch: option. Also see environment variable cssdirSchMem. -Mf: [-X-R-2] Miscellaneous Flags -Mf:[BCZYXR2-] '-Mf:' is alias for -Mf:BCZYXR2 B list files that eaData can't be read for CRC calc C list files that fileData can't be read for CRC calc Z list files that eaSize can not be obtained Y list files that CRC weren't computed (>= 2gig fsize) X list files that CRC weren't computed; due to -Xcrc: R list files that CRC weren't computed; due to -Srcrc: 2 list files that are 2 gig or bigger in filesize - reverse sense on above option With this option setting the user will be appropriately notified via CSSDIR writing to stderr: with the corresponding CSSDIRyyy: error/warning message code [See the list of such codes in (I.) Error/warning/information message codes section:]. You may redirect these messages as well as others that are directed to stderr: via the command line using '2> nameOffile' (don't forget to remove the ' or via option '-Ce'. Option settings B, C, and Z may occur if some files are locked in a filesystem that's either booted from or in use by the booted operating system or active application (typical files include: net.acc, net.aud, swapper.dat, etc), to avoid such errors one can close such applications before processing such files, boot from another partition, or use the '-Xr1:' or '-Xr1:@' option on such files, only later to boot separately, etc. to do just those few files using the '-Dir:@' option. -Nr: [0] noReadAccess: With a setting of '-Nr1' or just '-Nr' CSSDIR will prelist before and also list within the normal listing noReadAccess files. With '-Nr2' exclude such noReadAccessable files, With '-Nr3' same as '-Nr2' but silently, with '-Nr:4' =inc Only noReadAccess entries, with '-Nr5' same as '-Nr4' but silently. -Of: [stdout:] outfile [ /NEW | /OVERWRITE | /APPEND | /NEWTIME | /OVERWRITETIME | /APPENDTIME ] Note one can still use > to redirect all stdout. As well as redirect both stdout: and stderr: to the same file with '>outfile 2>&1' or '-Ce' with '-Of:'. [Also see included examples.txt file]. One advantage to using -Of: over > is By default with the expection of stdout:, -Of: will not overwrite or append unless the user specifically appends option /OVERWRITE or /APPEND. The -Of: option may be valuable in large jobs were you want to redirect other processing but not the stdout of CSSDIR. Further you may on such jobs be unusually surprised to get any errors to stderr, and really want them to be announced to the screen or via 2> redirection. The /NEWTIME, /OVERWRITETIME, and /APPENDTIME also outputs a timestamp to the -Of: named file. Tip: using auto generated symbolics, one could generate unique filenames when using the -Of:, i.e. -Of:report1./$$date$/./$$time1$/, would output the results to a file name starting with report1.currentdate.currenttime. Usually when you do this its in conjunction with -Pi1 option (so you know what the filename was called). -Pfof: [stdout:] PfoutFile [ /NEW | /OVERWRITE | /APPEND | /NEWTIME | /OVERWRITETIME | /APPENDTIME ] Similar to '-Of:' however it applies only if the '-Pf' option is active. The TIME suffix adds a timestamp to the PfoutFile. See '-Pf' option. -Pf [0] PreviewFile rec 1=ALL standard fileInfo + Reference Number 2=1 less Attributes and Reference Number 3= Reference Number and entrySpec (filespec/dirSpec) only 4= entrySpec (filespec/dirSpec) only 5=1 stop after previewFile phase 6=2 stop after previewFile phase 7=3 stop after previewFile phase 8=4 stop after previewFile phase This option will display files immediately as they are found without any additional processing on them. Add suffix /NOFLUSH or /N to skip flushing output buffer after each entry is Found. This can improve performance if large amounts of data are generated. It is thought that if you want to preview files, you most likely also want that info as soon as possible, and by default this output is always flushed after each entry is found. You must append /N or /NOFLUSH if you want to override this. All directories entries will have a '\' appended. This option is usually only valuable on long file searches which are expected only to produce a few files, and the normal buffering of CSSDIR will normally prevent you from getting timely feedback. -Pi [0] ProcessInfo rec 1=Console 2=stderr 3=stdout 4=-Of: 5=-Pfof: A setting of '-Pi' is the same as '-Pi1'. This option gives basic process info near the beginning of a CSSDIR process. This information can be useful in monitoring a CSSDIR process with cssmon utility, as well as give the total process time separate from regular output. Handy for long running or HUGE CSSDIR requests. -Pt [0] ProcessTime record With a setting of '-Pt1' or just '-Pt' lists total time to process user requests; -Pt2 lists gather time and if crc's are computed the time to compute them. -Pt3 equals -Pt1 and -Pt2. -Py: [*] priority With a setting of '-Py:*' means don't change the current command window/shell priority. Other settable values are; 0=lowest; 40=highest; 0-31 are in idle class 32-40 in regular class; -Sch: [] searchString Use a leading '/C' for case sensitive searches. Use '/CseArchStr' to find an exact match of 'seArchStr'. For insensitive search use a leading '/I' or nothing because its the default sensitivity. One can also search for two different strings that are in the same file by using str1+str2. i.e. to find 'Curtis' and 'Software' with the exact case -try 'cssdir -Sch:"/CCurtis+/CSoftware"' and for an insensitive search try 'cssdir -Sch:"Curtis+Software" or 'cssdir -Sch:"/Icurtis+/ISoftware". For either Curtis or Software, substitute '$' for '+'. Also use ';' for multiple searches. Also can escape ';' and '+' and '$' with an immediate preceding '~'. Also see caveat on searching binary files in (L.) Hints, tips, issues and caveats section:. Also see option '-Scho:'. -Scho: [1] show SearchString hits With a setting of '-Scho:1' and the option '-Sch:' is active list a line summary of string matches file by file. With '-Scho:2' more details will be listed. Use '-Scho:0' if you don't want to see any of this. -Soo: [1] SearchOutputOption This option may list the specifics of what the initial search criteria is currently active. If the setting is '-Soo:1' it will list such specifics/details only if a user has specifically overrode the default values of that criteria. i.e. used /a /s /Srd: /Srs: /Srz: /Wc:. With a setting of '-Soo:2' it will list the details only if more than one dirspec and/or '/Wc:' or '-Wc:' will produce more than one dirspec to be searched. With '-Soo:3' the details or the search criteria will be listed regardless of whether defaults were overridden or multiple dirspecs are to be searched. -Src: [all] Size Range compute CRC: With a setting of '-Src:all' it does not exclude any files to undergo their CRC being computed; '-Src:1000,$' will allow CRC computation to be done on files 1000 bytes or larger. -Tdir: [] Temp directory; Used with -Ecrc:y Set this option (or Environment variable cssdirTmp) when using the -Ecrc:y option to a directory that is to used for scratch space. it recommended that it should have about 15 megabytes of scratch space, Normally no more than 1-2 megabytes is ever used and any temp files created should automatically be removed when CSSDIR finishes. Use of the -Tdir: option if set overrides any setting to the environment variable cssdirTmp or the CSSDIR ini file user definable variable '/$cssdirTmp$/'. -Tis [] curTimeStamp; Outputs a current timeStamp to stdout at CSSDIR startup time. -Ve: [2] verbose level 0=off 1=basic 2=more 3= still more .... Useful for more details, -Ve:1 will redisplay the invocation line, -Ve:2 or higher will also show any symbolic substitutions translations (if any)[see cssdirIni environment variable]. -Vn: [1] display version With a setting of '-Vn:1' it will display the basic info about the version CSSDIR you are currently running. With a setting of '-Vn:2' will display all the version information. -Xr1: [] Suffixes of files to exclude; Use ';' for multiple suffixes; For example use '-Xr1:.zip;.rar;os2\system\swapper.dat'. Use /prefix/ to reverse sense of suffix to prefix. Use /dirPrefix/ to exclude entire directory trees. i.e. -Xr1:.zip;/dirPrefix/f:\os2\ will exclude all entries ending with '.zip' as well as the directory f:\os2\ and all its subdirectories. Also can use @excludeFiles. -Xr2: [] Suffixes of files to exclude CRC computing; Use ';' for multiple suffixes; For example use '-Xr2:.zip;.rar'. Also can use /prefix/ and /dirPrefix/ (see similar -Xr1 description). Also @excludeFilesCrc. (begin advance section) On some rare occasions if you have a file suffix that needs to contain a ';' first escape it with a '~'. i.e. '-Xr2:spec~;files;.zip' would exclude filenames that end with 'spec;files' and '.zip'. Without the '~' it would exclude filenames that end with 'spec', 'files', and '.zip'. You also may want to exclude files that begin with a '@' again first escape them with '~'. i.e. '-Xr2:~@xxx' would not treat '@xxx' as a file to read a list of exclude files but rather simply exclude filenames ending with '@xxx'. Please note CSSDIR does *NOT* check for a leading '@' within a file it is currently reading filenames to exclude. (end advance section) **** -List: and LORA* options **** ---------------------------------- List: [/*] list of order type(s) This options allows the user to 'list' a number of orders or requests to process which can produce multiple listings all in one pass over the specified dirspec(s). It can lead to much convenient and can take much less time than reInvoking CSSDIR multiple times over the same dirspecs. The user separates each requested order by a ';'. To simply get the current default setting listing append '-List:/*' (which is its default setting) to your current invocation of CSSDIR. To get the default listing and display all fields in the next listing sorted by descending date with a title of "* sorted by descending date*#" try appending '-List:/*;/1/o-D/Lrtbeg:"* sorted by descending date*#"'. You may also use/append the following (also known as LORA*) options, these options all start with the following prefixes '/Lf' (list fields), '/Lr' (list records), or '/Lx' (list additional/miscellaneous fields). They follow: /Lfa /Lfb /Lfc /Lfd /Lff /Lfh /Lfl /Lfm /Lfn /Lfr /Lfs /Lft /Lfu /Lfx /Lfz /Lrab /Lrcb /Lrdi /Lref /Lrhb /Lrlh /Lrll /Lrlp /Lrlt /Lrnd /Lrne /Lrnf /Lrns /Lrrb /Lrrs /Lrsb /Lrse /Lrsf /Lrsl /Lrtbeg: /Lrtend: /Lrts /Lxhp: /Lxo: /Lxpo: /Lxrst: /Lxuf: /Lxufao: /o. One other valuable hint even for the non power user is to use this option with the -Bf3 or -b or -f option which turns off almost all the options to produce a bare filename, but that not's what you ultimately want but rather you want to turn everything off fast and then simply turn on only what you specifically want. Try 'cssdir -Bf3 -List:/Lfs'. Which will list only the File size field followed by the filespec. ** LORA* displayable field (Lf) options ** ------------------------------------------ -Lfa [0] LORA* Attribute field With a setting of '-Lfa1' or just '-Lfa' list a files attribute bit field settings for each file listed without the directory attribute bit setting. '-Lfa2' includes the directory bit setting as well as AHSR. -Lfb [0] LORA* EaCrc field This option will list the computed files Eas CRC value for each of the listed files. A value listed in the found files EaCrc field of '-1' means that the Eas could not be read, '-2' means option '-Ecrc:n' was active and therefore no Ea crcs were computed, a '0' value means that the file has no eas to compute. This option can also be specifically overidden via the '/Lfb' within the context of the '-List:' option. -Lfc [0] LORA* FileCrc field With a setting of '-Lfc1' or just '-Lfc', this option lists a file's 32 bit computed CRC in hexadecimal when used in conjunction with '-Fcrc:y'. A negative (and also non hexadecimal) value listed in the filecrc field has significance: -1 indicates the listed file data could not be read, -2 indicates option '-Fcrc:n' was active, -3 indicates file size was not in CRC requested range [see -Src:], -4 indicates file was excluded based on its suffix [see -Xr2:], -5 indicates file was excluded because it sizes equals or exceeds 2 gigabytes bytes (because this is not supported yet!). [Also see -Mf: option]. -Lfd [1] LORA* Date Field With a setting of '-Lfd1' or just '-Lfd' lists date field format as mm-dd-yy. If setting is '-Lfd2' then use yyyy-mm-dd; if setting '-Lfd3' then use ddMmmyy. -Lff [1] LORA* FileSpec field This option is very flexible in giving the user control in displaying a filespec. With a setting of '-Lff1' or just '-Lff' it will display the relative path filepsec. '-Lff2' will only list the relative REQUIRED filePATH (if any and drop the filename portion completely), usually used with -Lfn option. '-Lff3' will list the complete filespec including drive or UNC file share name. '-Lff4' will list just the filename (includes extension) ONLY. '-Lff5' is the out the box default, and dependent on a number of things: its the same as -Lff1 but if the option '-Lrrs' has settings of 1,2, or 3 and the '-Lxpo:' does not contain an 'X' AND option '-Lxrst:' equates to directory type summaries then use '-Lff4' instead, Normally you do NOT need to change this, but if you do usually you will be selecting '-Lff3'. '-Lff6' also is dependent on a number of things: it is similar to '-Lff5' but will display info after taking into consideration the '-Lfn' option setting; displaying only as much as necessary to rebuild the complete filespec, and in some cases may not need to display any, because that information is provided in a directory or request summary and also the -Lfn option has display the full filename portion. Also see -Lrsl:, -Lfn. ... Brief Summary follows: 1=relative fileSpec 2=relative required path Only (if any) 3=full fileSpec (with drvLtr: or UNC) 4=filename (with ext) only 5=1 but if -Lrrs has settings 1,2,3 AND -Lxpo: does not contain an 'X' AND -Lxrst: equates to dir summaries then use -Lff4 instead. 6=similar to -Lff5 but display info after taking into consideration the -Lfn setting; displaying only as much as necessary to rebuild the complete filespec, (may not need to display any). -Lfh [1] hintString This option provides what is referred to as the hintString in CSSDIR. This string is a hint or concise identification coded string. It can provide a compact way to identify various things about the listed file and the type of listing it is a part of (merge, no merge, ordering (sorting) within a directory boundary or not, as well as quickly identifying especially on long directory listings whether the file listed above or below is in the same directory or not. It has the following formats: 1= 1request[DCC] else[DCC(+|-)SHC] 2= 1request(none) else[DCC(+|-)SHC] 3= [DCC(+|-)SHC] 4= [DCC(+|-)SHC,DH] 5= [PO:DCC(+|-)SHC,DH] 6= [SHC] Above mnemonics follow: DCC- dump Counters code; a unique number incrementing on either a dir change or change in request (see -Lxrst: ). SHC- short hand code/user dirspec request code. (+|-): '-' is used on -Lxpo:N settings otherwise '+' for merge is used. PO - -Lxpo: setting DH - device hint x:(drvLtr:) or \\(UNC). The use of '['+']' is representative of: '[]' regular dir order summary requests; '<>' indicates -Lxpo: contains and 'X'. Note: If -Lfh0 + more than 1 dirspec request has been requested and effectively -Lff1 or -Lff2 is active, user will get a warning on possible location of files listed maybe ambiguous. Also note: with -o*dups-asc, -o*dups-des the hintString if (-Lfh) has non zero setting is currently forced to use <SHC>, this may change when those two options do not ignore the -Lxpo: setting. The best way to fully appreciate as well as understand this option is to try a few examples and COMPARE/CONTRAST their output: such as 'cssdir c: d:', 'cssdir c: d: -Lfh5', 'cssdir c: d:' -Lxpo:ax', 'cssdir c: d: -Lxpo:ar'. Examples assumes you have accessible drives C: and D:. -Lfm [0] LORA* directory flag With a setting of '-Lfm1' or just '-Lfm' append a trailing '\' to listed directory entries. -Lfn [0] LORA* FileName field With a setting '-Lfn1' or just '-Lfn' the display will list just the filename.ext, however with the setting '-Lfn2' it will format the filename less any extension over approximately 20 spaces and chop according (indicating a chop by a trailing asterisk on both the filename and ext if necessary) followed then by The Ext formatted over 9 spaces - Great for extension sorted viewing and nice to use with '-o*dups-asc' or '-o*dups-des'. -Lfn3 = -Lfrn1 + appends a trailing '/' (useful for parsing the output via a rexx script or such). -Lfn4 = -Lfn2 + '/'. -Lfn5 = limits filename + extension to 30 chars, indicates it was chopped with an asterisk, -Lfn6 = -Lfn5 + '/'. -Lfr [0] LORA* RefNum field; With a setting of '-Lfr1' or just '-Lfr' list a reference number that is uniquely assigned to a given file on the current invocation of CSSDIR. Can be useful for reference purposes especially if the '-List:' option has multiple listing requests. '-Lfr2' same as -Lfr1 but also append a ';', making searching with a programmer's editor much easier to find cross reference numbers between listings within one invocation without getting a lot of false hits, i.e search for reference number 15 in a listing of 1000 files, then use a leading space followed by '15;' and followed by another space. This will avoid getting false matches on 115, 215, 315 and so on. -Lfs [1] LORA* FileSize field With a setting of '-Lfs1' or just '-Lfs' the filesize field for directories will contain the entry '<DIR>' and with a setting of '-Lfs2' it will have all file size entries numeric and thus directory entries will contain a zero. -Lft [1] LORA* Time field With a setting '-Lft1' or just '-Lft' will list the time in the format of hh:mm* where * is either a p or a for pm/am. With '-Lft2' the listed will have the time format in hh:mm:ss. -Lfu [0] LORA* Unique file field With a setting of '-Lfu1' or just '-Lfu' it will display on each listed file a field positioned just left before the '-Lfr' field, (with '-Lfu2' its placed just left before the '-Lfd' field) which describes how the file is different in file directories or trees, for any non-blank results one must use in conjunction with '-Lruf:' option. -Lfx [0] LORA* Entry field With a setting of 'Lfx1' or just '-Lfx', this option numbers each file listed starting from 1 for easy reference. -Lfz [1] LORA* EaSize field With a setting of '-Lfz1' or just '-Lfz', this option will list the Size of the Ea (in bytes). ** LORA* displayable record (Lr) options ** ------------------------------------------- -Lrab [0] LORA* ArchiveBitSet record With a setting of '-Lrab1' or just '-Lrab' list the total count of found files that have this attribute bit set. -Lrcb [0] LORA* AllClearBits record With a setting of '-Lrcb1' or just '-Lrcb' list the total count of found files that have all their file's Attribute clear (not set). -Lrdi [1] LORA* Drive information record With a setting of '-Lrdi1' or just '-Lrdi' list queried drive(s) free space record(s); full available settings include: '-Lrdi1' =freeSpace for queried drives, '-Lrdi2' =usedSpace for queried drives, '-Lrdi3' = both 2 and 1. With -Lrdi1, -Lrdi2, or -Lrdi3 it also appends percentage usage or free space percentage left. Also the label name for the drive is listed with -Lrdi1 and indirectly with -Lrdi3, whereas with -Lrdi2 or indirectly with -Lrdi3 also lists the serial number for the drive. -Lref [0] LORA* non 0 EasizeFiles record With a setting of '-Lref1' or just '-Lref', this option will list the total count of files with Ea sizes. -Lrhb [0] LORA* HiddenBitSet record With a setting of '-Lrhb1' or just '-Lrhb' list the total count of files found that have their hidden attribute set. Note you will not find any if you don't also use -a or some derivative of -a which does not exclude hidden files in CSSDIR search process. -Lrlh [0] LORA* ListingHead record With a setting of '-Lrlh1' or just '-Lrlh' lists a listing heading settings, with a setting of '-Lrlh2' list only a listing trailer settings at end of listing, with a setting of '-Lrlh3' lists both listing settings. -Lrll [0] LORA* listingLabel record With a setting of '-Lrll1' or just '-Lrll' list a label that identifies each of the fields that are to be listed at the beginning of a listing. With a setting of '-Lrll2' instead of at the beginning, the label is listed at the end of a listing. Use '-Lrll3' to list a label at the beginning and at the end of a listing. -Lrlp [0] LORA* ListOptionProc record(s) With a setting of '-Lrlp1' or just '-Lrlp' list the current active user -List: order request before the listing, with a setting of '-Lrlp2' lists as a trailer, with a setting of '-Lrlp3' lists both before and after. -Lrlt [0] LORA* -List: ProcTime record(s) With a setting of '-Lrlt1' or just '-Lrlt' lists the processing time for the just finished '-List:' request. -Lrnd [0] LORA* NumDirectories record With a setting of '-Lrnd1' or just '-Lrnd' will list the count of the total of all directories found. -Lrne [1] LORA* NumEntries record With a setting of '-Lrne1' or just '-Lrne' will list the count of the total of all entries (directories and files) found. -Lrnf [0] LORA* NumFiles record With a setting of '-Lrnf1' or just '-Lrnf' will list the count of the total of all files found, (directory entries are not included). -Lrns [1] LORA* numEntriesSearched record With a setting of '-Lrns1' or just '-Lrns' list the count of the total of all the entries searched when option '-Sch:' is active. '-Lrns:2' always lists this record whether '-Sch:' is active or not. '-Lrns:3' is same as '-Lrns:1' but also list another record with the totals bytes sifted for searchstr. '-Lrns:4' is same as '-Lrns:3' but always list. -Lrrb [0] LORA* ReadonlyBitSet record; With a setting of '-Lrrb1' or -Lrrb lists the count of the total number of files that have the attribute readonly bit set; -Lrrs [3] LORA* Request summary This option provides request summaries of either directory style or request style (decided by -Lxrst: option). With a setting of '-Lrrs1' it lists a heading label of the type of summary followed by other relevant information, such as a directory name. '-Lrrs2' lists an ending label of the type of summary followed by other relevant information on that line, followed by another line containing summary totals for the number of files, dirs, sizes, and easizes. '-Lrrs3' turns on both -Lrrs1 and -Lrrs2. '-Lrrs4' will list the same summary info as -Lrrs2 but it informs CSSDIR not to output any of the individual specific record details that make up the summaries. Brief summation follows: 1=begin Label of dir/request 2=End Label of dir/request +totals 3=1 + 2 (similar to cmd.exe's dirs) 4=2 but no details 0=off (no request summary generated) Option -Lxrst: decides type of request -Lrsb [0] LORA* SystemBitSet record; With a setting of '-Lrsb1' or just '-Lrsb' lists the count of the total number of files that have the attribute system bit set. -Lrse [0] LORA* SumEaSizes record; With a setting of '-Lrse1' or just '-Lrse' will list the sum of the total bytes consumed by the files ea sizes. -Lrsf [1] LORA* SumFileSizes record With a setting of '-Lrsf1' or just '-Lrsf' will list the total sizes for the found files, NOTE: does not include the files ea size in the total. -Lrsl [0] LORA* shorthandList records With a setting of '-Lrsl1' or just '-Lrsl' this will list the assigned "shorthand code" for a given base path name and dirspec when it was assigned. Also can be useful to reBuild a full file spec with these values and the relativepath name. Appears just before listed files (if any) and starts with '++['. Try 'cssdir -Lrsl'. -Lrtbeg: [] LORA* listTitle Will prefix a listing with whatever follows the '-Lrtbeg:', for instance '-Lrtbeg:"This is a sorted first by date ascending and then file size", also for multiple lines use # for cr/lf. [Also See -Lrtend:] -Lrtend: [] LORA* ending listTitle Will postfix a listing with whatever follows the '-Lrtend:', for instance '-Lrtend:"Ending of a sorted first by date ascending and then file size", also for multiple lines use # for cr/lf. [Also See -Lrtbeg:] -Lrts [0] LORA* TotalSizes record With a setting of '-Lrts1' or '-Lrts' will list the total filelengths and eaSize combined usage in bytes. ** LORA* other (Lx and o) options ** ------------------------------------ -o [:GN] LORA* Order: -o -o[:][GNEDSZRFJ-] Similar to cmd.exe's dir /o options but with a few significant enhancements. Especially when combined with option '-Lxpo:'. G group directories first N sort by filename (includes extension) E sort by extension D sort by date and time S sort by file size Z sort by easize R sort by reference number F order by full filespec less DrvLtr/UNC name J order by relative filespec Option F and J are allowed with any -Lxpo: option, However if -Lxpo: does NOT contains an 'X' or a 'R', the effect is effectively the same as ordering by N. (Since -Lxpo: already has decided that.) -o*SUMMARY will give a summary only of what was processed. -o*DUPS-ASC will produce a list of (potential) duplicate files sorted in ascending filesize order. One should use option -o*dups-asc or -o*dups-des with at least options -Fcrc:y and possibly the -Ecrc:y as well as use the -Lfc and -Lfb options in determining the files likely hood of really being a duplicate. -o*DUPS-DES reverses the sort to be descending by file size. Also the -Lxpo: option is currently ignored when -o*summary, -o*dups-asc or -o*dups-des are specified, effectively in these three cases -Lxpo: is set to -Lxpo:ax. '-Lxo:' is an alias for -o. [Please see (L.) Hints, tips, issues and caveats section: about duplicate files] -Lxhp: [0] LORA* -Lfh position Decides order of where to place the hintString (-Lfh). '-Lxhp:0' places it right before the -Lff field (or if -Lff0 where it would be). '-Lxhp:1' places it right before the -Lfn field (or if -Lfn0 where it would be). -Lxhp:0 = -Lfn -Lfh -Lff -Lxhp:1 = -Lfh -Lfn -Lff -Lxo: [:GN] alias for '-o'; see '-o' option. -Lxpo: [N] LORA* Primary order: [N|AR|DR|NX|AX|DX|AF|DF]. This is an extremely powerful option. It decides if multiple directories in a single request or over multiple requests should be keep separate or merged. It allows ordering (sorting) beyond the current directory, i.e. orderng by the largest to smallest size file over all requests/directories given, YOU CAN'T DO THAT WITH DIR!!!! As well as other fields. Out of the box CSSDIR default keeps the ordering contained within a directory with a setting of -Lxpo:N. A summary of the available settings follows: N merge no reqs (reqs = requests) AR merge all reqs by relative path DR merge drv reqs by relative path NX merge no reqs/ignore dir tree when ordering AX merge all reqs/ignore dir tree when ordering DX merge drv reqs/ignore dir tree when ordering AF merge all reqs using full path DF merge drv reqs using full path Options: N,DR,NX,DX,DF can Append a 'L' to order by drive or 'U' by unc name alpha order. -o*summary, -o*dups-asc, -o*dups-des + any -Lxuf: filtering currently ignores -Lxpo: settings. Also currently all overlapping file matches during multiple requests ill regardless of -Lxpo: setting are tossed but warnings maybe given based on -Lanu:. -Lxrst: [0] LORA* RequestSumType; This option decides what type of requested summary the user will get if -Lrrs is non zero. The default out of the box CSSDIR setting for this option is -Lxrst:0 which will cause a directory type summary if the -Lxpo: option does not contain an 'X' otherwise it will do a request type. The definition of a request type means it is not dependent on the files listed in a directory based order, the generation of the 1 (one) line summary information is based on the -Lxpo: setting and/or the user requested dirspecs. To force a request type summary use '-Lxrst:1'. A summary of available settings follow: 0=directory type summary if possible else request type 1=request type only 2=directory summary if possible else none. Dir summary type is possible if -Lxpo: does NOT contain an 'x' -Lxuf: [*OFF] LORA* Unique file settings -Lxuf:[KDSCZBA-] '-Lxuf:' is alias for -Lxuf:KDSCZBA K compare relpath named files CaseSensitiveName D compare relative path named files date S compare relative path named files size C compare relative path named files CRC Z compare relative path named files easize B compare relative path named files eacrc A compare relative path named files attrib - ignore specified following field use -Lxuf:-D-S-C-Z-B-A for unique filenames only. Use -K to also exclude if case of filename (and extension) portion is different. Use *OFF to shut off; Also see -Lxufao: when using A above. -Lxufao: [] LORA* Unique file attribute option -Lxufao:[ADSHR-] This option is only referenced when used in conjunction with -Lxuf:A[DSHR-] '-Lxufao:' is default and alias for -Lxufao:ADSHR A consider Archive bit D consider Directory bit S consider System bit H consider Hidden bit R consider Readonly bit - ignore following bit field If one uses '-Lxufao:-A' then the archive bit is ignored in determining if a file is unique however the directory attribute bit (D), the system attribute bit (S), the hidden attribute bit (H) and the readonly attribute bit (R) are still considered in determining if a file is unique and to be listed. **** other related info **** ---------------------------- Layout of horizontal fields (if appropriate options are active) desc: ### dat tim siz crc esz ecrc att uq* rn dl fn '\' hs* fspec'\' option: Lfx Lfd Lft Lfs Lfc Lfz Lfb Lfa Lfu Lfr Lfl Lfn+Lfm Lfh Lff+Lfm settings: 2 4 3 3 2 2 2 3 3 3 4 7 2 7 7 2 All fields can be turned on or off, use option '-Lrll' to label the fields and '-Lxlh' to show what options are active. See examples examples.txt file. special (shortcut) options available for the '-List:' option /* process order with current global settings /= set current options to previous order settings, if there is no previous order than set them to the current global settings /1 set all of the following List options to have a setting of one /Lfa /Lfb /Lfc /Lfd /Lff /Lfh /Lfl /Lfm /Lfn /Lfr /Lfs /Lft /Lfu /Lfx /Lfz /Lrab /Lrcb /Lrdi /Lref /Lrhb /Lrlh /Lrll /Lrlp /Lrlt /Lrnd /Lrne /Lrnf /Lrns /Lrrb /Lrrs /Lrsb /Lrse /Lrsf /Lrsl /Lrts /0 same as /1 but reset or have a setting of zero /1F set all of the List field (Lf prefix) options to setting of 1, They are: /Lfa /Lfb /Lfc /Lfd /Lff /Lfh /Lfl /Lfm /Lfn /Lfr /Lfs /Lft /Lfu /Lfx /Lfz /0F same /1F but reset or have a setting of zero /1B set all of the List attribute bit options to have a setting of one /Lrab /Lrcd /Lrhb /Lrrb /Lrnd /Lrsb /0B same as /1B but reset or have a setting of zero Environment variable cssdirDefArgs -is used for your default options preferences, if this environment exists it is first pasted (with exact spacing) during processing in front of any user added options of the currently invoked CSSDIR command line. And thus the user can still override them on the command line with One exception any dirspecs will be appended to. Use 'set cssdirDefArgs=' to your desired defaults settings either in config.sys or settable within the command window/shell you will be invoking CSSDIR from. You can also adjust the user definable variable /$cssdirDefArgs$/ in the active CSSDIR ini file (usually named CSSDIR.ini) and if environment variable cssdirDefArgs is not set then CSSDIR will paste the /$cssdirDefArgs$/ in as the beginning defaults for the current CSSDIR invocation. One can see this pasting operation (if cssdirDefArgs or /$cssdirDefArgs$/ is set) with a setting of '-Ve:3' or greater. Environment variable cssdirIni - if set; It is to contain the filespec of the CSSDIR initialization file, usually called CSSDIR.ini. This initialization file is used for your powerful symbolic definitions, see the included sample CSSDIR.ini file. In this file any lines beginning with '/$' define a symbolic string that can then be used when invoking CSSDIR. They are expected to follow the form /$userVarName$/:setting. See the CSSDIR.ini file. To see the expansion of a symbolic definition setting use '-Ve:2' or greater. i.e. 'Ve:2' will show this expansion. Note the user can not define symbolic named definitions that start with /$$, these are reserved for automatically generated CSSDIR system defined ones. Some automatically generated ones include /$$pid$/ to get the cssddiff id of this invocation of CSSDIR. Another is /$$bdrv$/ which is set to the current active booted from drive, and /$$tab$/ is for the tab character (might be useful to use with the -Sch: option). /$$VBAR$/ is for the '|' (aka the pipe character or vertical bar). To get a full listing of the ones defined use '-Dumpo:A'. These automatically generated one's can be handy to use with options -Lrtend: and -Lrtbeg: or with -Of:. Symbolic definition names are NOT case sensitive. Environment variable cssdirTmp - is to contain a directory name that is to used for scratch space for option -Ecrc:, it recommended that it should have about 15 megabytes of scratch space, Normally no more than 1-2 megabytes is ever used and any temp files created should automatically be removed when CSSDIR finishes. Use of the -Tdir: option if set overrides any setting to cssdirTmp. You can also adjust the user definable variable /$cssdirTmp$/ in the active CSSDIR ini file (usually named CSSDIR.ini) and if environment variable cssdirTmp is not set then CSSDIR will use this setting if -Tdir: option is not active. Environment variable cssdirMem - is used to adjust a desired setting of the maximum number of MEGAbytes for general memory consumption, which may result in OS/2 or eComStation in resorting to using virtual memory. Please note if you make huge processing requests to CSSDIR, which results in millions of files, you should make sure you have plenty of swap space on your OS/2 or eComStation swapper drive. Usually you never have to adjust this unless you have a server system. Environment variable cssdirSchMem - is used to adjust a desired setting of the maximum number of MEGAbytes for use with the -Sch: option. Usually you never have to adjust this. The related -Lasmw: option warning usually only occurs on very large data files or binary files. Environment variable cssdirSymProcessing - one can set this to 'SHOW' which will show all translations of any symbolics. Especially useful if you doing a number of levels of translations, and don't know why something is translated as such. ****************************************************************************** (G.) Options Summary Alpha Sorted Table Section: ************************************************ In the following Option table: A leading '*' denotes options can be used globally as well as specifically with the '-List:' option as known as a LORA* option. Each such option can be assigned a new global default via a leading '-' and then specifically overridden within the '-List:' option via a leading '/'. For instance on the command line you might issue: 'cssdir -Lff1 -Lfs1' To specifically overide the default for a given option; Use the option in conjunction with the '-List:' option and then specify the option with a leading '/' to overide the default. i.e. '-List:/*;/Lfs2', would use all the other defaults but would now override '-Lfs1' with a new setting of '2'. You can also override as many other defaults available within the context of the '-List:' option such as with '-List:/*;/Lff3/Lfs2/Lfd2'. A leading # denotes options can be used globally as well as specifically within the context of the -Dir: option, also known as a DORA* option. Each such option can be assigned a new setting (overriding the default setting which was set with a leading '-') and then specifically overridden within the -Dir: option via a leading '/'. For instance on the command line you might issue: 'cssdir -a'. To specifically override the default for a given option, Use the option in conjunction with the -Dir: option and then append the option with a leading '/' to override the default. i.e. '-Dir:./a-R', (also could use './a-R' because in almost all cases '-Dir:' is not necessary) and would use all the other defaults but would now override '-a' with the new adjusted setting of '-R' applied to the current directory search. You can also override as many other defaults available within the context of the '-Dir:' option similarly such as with '-Dir:c:\/a-R/Wc:*.c/Srs:1,$/Dr:2003'. a leading '-' denotes option only available on a global basis or NORA option, i.e. They are neither a DORA* or a LORA* option. Option table: ------------- # = also can override within -Dir: option context, aka DORA* * = also can override within -List: option context, aka LORA* - = available only on global setting, aka NORA* Options sorted alphabetically follow: option default decription -? alternative way to display help -?x alternative way to display eXtended help #a [:-H-S] attr: -a -a[:][ADSHR-*] -b [0] 0=off 1=on; -b or -b1= -Bf1; with -s its -Bf3 -Bf [0] Bare -Lff fld -Ce [0] Combine stderr to stdout; useful for 'more' 1,2 -Daws: [0] weekStart day 0=Mon,1=Tue,2=Wed,3=Thu,4=Fri,5=Sat,6=Sun -Dir: [.] directories -Dumpo: [N] dump options settings Y,N,A=all S=A+sort B=brief .. -Ecrc: [N] compute Ea crc Y,N -f [0] 0=off 1=on; -f or -f1 is alias for -Bf3 -Fcrc: [N] compute file crc Y,N -Foo: [0] foundOutputOption 1=found and totfound 2=totfound only -h display help -hx display eXtended help -Laifs: [L] List/Abort if invalid filespec/dirspec(s) A,L,Y -Lamcd: [A] List/Abort mixedCase dup filespecs found A, Y -Lanf: [L] List/Abort if no (qualified) files found A,L,Y,0 -Lanu: [L] List/abort non unique file names found A,L,Y,0 -Lasfw: [L] List/abort search file warning A,L,S,T,Y,Z,0 -Lasmw: [L] List/abort -Sch temp memory exceeded warning A,I,L,S ** -List: displayable field (Lf) options ** *Lfa [0] Attribute 1=----; 2=----- (includes Dir) *Lfb [0] eaCrc *Lfc [0] fileCrc *Lfd [1] Date 1=mm-dd-yy; 2=yyyy-mm-dd 3=ddMmmyy *Lff [5] FileSpec 0=off 1=relFSpec 2=relReqPath 3=fullSpec *Lff [1] FileSpec 1=r 2=rs 3=f 4=rsh 5=3s 6=sR 7=6h *Lfh [1] hintString format of hintString 4=[DCC(+|-)SHC,DH] *Lfl [0] dir Level 1=level 2=RelativeLevel 3=1+2 *Lfm [0] dir flag 0= no trailing \ 1=trailing \ *Lfn [0] fileName 1=name.ext 2=1 format 3=1/ 4=2/ ... *Lfr [0] Reference Num 1= regular 2=1 +';' handy for searching *Lfs [1] fileSize 1=with <DIR>; 2=all numeric *Lft [1] Time 1=hh:mm* ; 2=hh:mm:ss ; *Lfu [0] Unique file 1= list b4 -Lfr 2=list b4 -Lfd *Lfx [0] number entry *Lfz [1] EaSize -List: [/*] list of order type(s) ** -List: displayable record (Lr) options ** *Lrab [0] ArchiveBitSet *Lrcb [0] AllClearBits *Lrdi [1] Drive info 1=freespace 2=usedSpace 3=1+2 *Lref [0] non0 EasizeFiles *Lrhb [0] HiddenBitSet *Lrlh [0] ListingHead 1=head 2=tail 3=both *Lrll [0] listingLabel 1=head 2=tail 3=both *Lrlp [0] ListOptionProc 1=head 2=tail 3=both *Lrlt [0] -List: ProcTime for the cur list entry *Lrnd [0] NumDirectories *Lrne [1] NumEntries *Lrnf [0] NumFiles *Lrns [1] numEntriesSrched 1=fbss 2=1Always 3=bytes 4=3Always *Lrrb [0] ReadonlyBitSet *Lrrs [0] Request summary 1=hdrlab 2=endLab+tot 3=1+2 4=3+label ... *Lrsb [0] SystemBitSet *Lrse [0] SumEaSizes *Lrsf [1] SumFileSizes *Lrsl [0] shorthandList ; list codes for basePath of dirSpec *Lrtbeg: [] listTitle ; for multiple lines; #=cr/lf *Lrtend: [] ending listTitle ; for multiple lines; #=cr/lf *Lrts [0] TotalSizes ; filelengths + eaSizes ** -List: other (Lx) options ** *Lxhp: [0] -Lfh position 0= -Lfn -Lfh -Lff; 1=-Lfh -Lfn -Lff *Lxo: [:GN] -Lxo: is an alias for '-o'; see -o *Lxpo: [N] PrimaryOrder: -Lxpo:[N|AR|DR|NX|AX|DX|AF|DF] .... *Lxrst: [0] RequestSumType; 0=dir?avail/request 1=reqSum 2=dir?avail *Lxuf: [*OFF] UniqFile -Lxuf:[KDSCZBA-] '-Lxuf:' = -Lxuf:KDSCZBA *Lxufao: [] UniqFile attrib -Lxufao:[ADSHR-] -Mf: [-X-R-2] Miscellaneous Flags -Mf:[BCZYXR2-]'-Mf:'= -Mf:BCZYXR2 -Nr: [0] noReadAccess:1=prelist 2=exc 3=2 silent 4=inc 5=4 silent *o [:GN] Order:-o[:][GNEDSZRFJ-] *SUMMARY *DUPS-ASC *DUPS-DES -Of: [stdout:] outFile [/NEW | /OVERWRITE | /APPEND | /APPENDTIME ...] -Pf [0] PreviewFile rec 1=All 2=1 noAttr# 3=#fspec 4=fspec ... -Pfof: [stdout:] PfoutFile [/NEW | /OVERWRITE | /APPEND | /APPENDTIME ...] -Pi [0] ProcessInfo rec 1=console 2=stderr 3=stdout 4=-Of: ... -Pt [0] ProcessTime rec 1=tot 2=gather 3=1+2 -Py: [*] priority *=noChange 0=lo 40=hi 0-31 idle 32-40RegClass #s [CUR] subdir CUR,ALL,NO or -sxx (xx = maxLevelDepth 2-99) -Sch: [] searchString /Cstr /Istr both=+ either=$ -Scho: [1] SearchString hits 1=line summary 2=1 + details -Soo: [1] SearchOutputOption 1=showNondefault 2=showMult 3=always -Src: [ALL] file Size Range to compute CRCs #Srd: [ALL] range of dates: -n,all,curNweek,curNmonth (N = 1 to 13) #Srs: [ALL] range of file Size: all, $=no high limit i.e. -Srs:1000,$ #Srz: [ALL] range of Ea Size: all, $=no high limit i.e. -Srz:1,$ -Tdir: [] Temp directory; Used with -Ecrc:y -Tis [0] curTimeStamp 0=off 1=timeStamp -Ve: [2] verbose level 0=off 1=basic 2=show SYM translation .... -Vn: [1] display version 0=off 1=basic 2=all #Wc: [] wildcards -Xr1: [] eXclude files with Suffixes/[/prefix/ ...] ... -Xr2: [] eXclude files with Suffixes/[/prefix/] for computing CRCs /Register registers CSSDIR; i.e. 'cssdir /Register' **** Layout of horizontal fields (if appropriate options are active) **** desc: ### dat tim siz crc esz ecrc att uq* rn dl fn '\' hs* fspec'\' option: Lfx Lfd Lft Lfs Lfc Lfz Lfb Lfa Lfu Lfr Lfl Lfn+Lfm Lfh Lff+Lfm settings: 2 4 3 3 2 2 2 3 3 3 4 7 2 7 7 2 uq* immediately above means the unique field may appear in different locations based on the -Lfu option setting, and hs* means hintString (-Lfh) placement may appear in different locations based on the -Lxhp: option. ****************************************************************************** (H.) Detailed CSSDIR license feature comparisons section: ********************************************************* It is illegal to use CSSDIR or related utilities beyond the 30 days (from original first use of a version) unless you purchase a shareware or professional registration from Curtis Systems Software P.C. The following Options in the non registered and unlicensed version are unavailable or un-adjustable: -Src:, -Py:, -Srz:, /Srz:, -Srs:, /Srs:, -Src:, -Dir:@, @, -Xr2:@, -Xr1:@, -Lxufao:, -Ecrc:, and no offline access to snapshot compare (cssddiff). The following options are limited: -Srd: and /Srd: (to one range), -Wc: (to two wildcards), /Wc: (to one wildcard override). No cssmon query capability. It has a startup unregistered license notice time delay, and is limited to filtering output results not to exceed 2499 file/directory entries. Only 1 report per invocation with the -List: is allowed. Has NO support. Registered Shareware license: Has everything the PROfessional version has with the following exceptions: no support for -Py: (setting priority of CSSDIR), -Dir:@ or @ (read dirspecs/filespecs from a file), -Xr2:@ (read exclude CRC suffixes from a file), -Xr1:@ (read exclude suffixes from a file), no offline snapshot compare (cssddiff) option, limited to two reports per invocation with the -List: option. No cssmon query capability. Limited to filtering output results not to exceed 99,999 file/directory entries. It has Email support. Registered PROfessional version: All features are available, that's a bunch. Email support questions are put at the top of the list of other non PROfessional licensed users. It also contains the powerful -Dir:@, -Xr2:@, -Xr1:@ and access to snapshot compare options with multiple reports (all in one pass) with the -List: option. No limit on output results (except with regards to OS/2 or eComStation virtual memory management) having to do with the number of file/directory entries. We have tested it with over 2.5 Million such entries on eComstation 1.03 during one invocation. And it has query access of active CSSDIR processes via the cssmon utility. Please note until further notice the snapshot compare option (cssddiff) is currently available only upon special request by a Pro license holder. ****************************************************************************** (I.) Error/warning/information message codes section: ***************************************************** Text after each CSSDIRxxx: code is representative of the type of error/warning/information and MAY NOT match exactly when an error is produced and may also be adjusted in future program revisions. Please note that if you have an error on the stderr stream (and perhaps with stdout stream when using the -Ce option), you may not see an error message but the return code from CSSDIR should be appropriately set; During Batch invocations it is highly recommended to check exit codes. This is especially important if your redirect output to a disk that is nearly full or could become FULL during CSSDIR output operations. CSSDIR Version 2.0 messages: CSSDIR102: trial or beta software test period has expired, visit web site CSSDIR103: error reading CSSDIR initialization file, usually named CSSDIR.ini CSSDIR104: illegal directory name or ambiguous option Usually this means that you are trying to use an override option in a non override mode. By default if you meant to apply it to the current directory please pre-pend a '.'. CSSDIR105: Illegal option combination CSSDIR106: user specified output file (-Of: or -Pfof:) warning or error msg CSSDIR107: can not locate eComStation or OS/2 eautil program CSSDIR108: env var cssdirTmp or /$cssdirTmp$/ or -Tdir: needs a valid setting CSSDIR109: no directory specified or other dirspec errors CSSDIR110: command line args processing error CSSDIR111: misuse of '~' (tilde) escape character detected CSSDIR112: misuse of '-List:' option CSSDIR113: problems when using the '@' character or options CSSDIR114: misuse of '-Sch:' option CSSDIR115: illegal characters found; wildcards not allowed in exclude options CSSDIR116: user hit ctrl-c or ctrl-break causing CSSDIR to abort CSSDIR117: internal issue; probably out of memory CSSDIR118: error writing to outfile; disk may be full! CSSDIR119: error deleting CSSDIR created temporary files CSSDIR120: internal error while computing CRC's CSSDIR121: not logically possible but found internal error CSSDIR122: environment vars cssdirSchMem or cssdirMem outOfRange CSSDIR123: dir info util failed unexpectedly CSSDIR124: error writing to stderr: (probably redirected and disk full) CSSDIR125: internal logic error; please report CSSDIR126: internal logic error; please report CSSDIR127: aborting due to no files found for dirspec(s) [-Lanf:Y ,-Lanf:A] CSSDIR128: aborting due to invalid filespec/dirspec(s) [-Laifs:Y ,-Laifs:A] CSSDIR129: commandline contains illegal characters CSSDIR130: user hit ctrl-c during searching a file for search string CSSDIR133: can't register missing a valid key file CSSDIR134: license was successfully registered CSSDIR135: user did not agree to terms and conditions CSSDIR136: license registration failed CSSDIR137: register pro license required CSSDIR139: registered license required CSSDIR142: aborting due to non unique filespecs detected [-Lanu:Y , -Lanu:A] CSSDIR143: aborting due to mixedCase dup filespecs found [-Lamcd:Y, -Lamcd:A] CSSDIR144: aborting (during -Sch:) due to: BinaryFileDetected or LineLenTooLong [-Lasfw:Y or -Lasfw:L] CSSDIR145: aborting (during -Sch:) due to: Temporary string storage exceeded [-Lasmw:A] CSSDIR150: Warning: Can't find: CSSDIR initialization file (usally CSSDIR.ini) CSSDIR151: invalid filepath/dirpath Spec [-Laifs:L or -Laifs:Y] CSSDIR152: noReadAccess of listed file [-Nr:1 or -Nr:2 or -Nr:4] CSSDIR153: ErrorOpeningFile or ErrorReadingFile during searching (-Sch:) CSSDIR154: error from eautil CSSDIR155: no (qualified) files found [-Lanf:L or -Lanf:Y] CSSDIR156: list files that CRC weren't computed due to -Src: [-Mf:R] CSSDIR157: list files that CRC weren't computed; >=2 gig fsize [-Mf:Y] CSSDIR158: list files whose data can't be read for CRC calc [-Mf:C] CSSDIR159: list files that are 2 gig or more in filesize [-Mf:2] CSSDIR160: list files whose ea size can not be obtained [-Mf:Z] CSSDIR161: list files whose ea data can't be read for CRC calc [-Mf:B] CSSDIR162: list files whose CRC weren't computed; due to -Xr2: [-Mf:X] CSSDIR163: warning nonunique filespec found [-Lanu:L or -Lanu:Y] CSSDIR164: unregistered version detected CSSDIR166: warning (during -Sch:) due to: BinaryFileDetected or LineLenTooLong [-Lasfw:L ,S ,Y] CSSDIR167: warning (during -Sch:) due to: Temporary storage exceeded [-Lasmw:L ,S] CSSDIR168: warning using -Lfh0 with multiple requests while -Lff1 or -Lff2 is active may lead to file location ambiguities, try a non zero setting for -Lfh CSSDIR199: internal error; should never experience; you probably have a flakey piece of hardware; contact CSS for your next system ****************************************************************************** (J.) CSSDIR ini file and Customization section: *********************************************** The CSSDIR ini file is a file which is read at CSSDIR startup time, and contains all the user definable Symbolic codes to CSSDIR options settings. It is a very handy way to recall and then re-Invoke commonly used CSSDIR options settings. The files format currently has 3 types of lines. One, blank lines are ignored, two comment lines which are lines that begin with a ';' which are also ignored, three user definable symbolic codes. The format of a symbolic is of the form /$uservar$/:options definition. i.e. /$SortDriveC_bySize$/:c:\ -s -Lxpo:ax -os -Lrtbeg:"Drv C sorted by Size" In this example, one could simply use cssdir /$sortDriveC_bySize$/ (which translate into the following line) cssdir c:\ -s -Lxpo:ax -os -Lrtbeg:"Drv C sorted by Size" As time goes on you can add many shortcut custom codes. Currently two user definable Symbolics codes, /$cssdirTmp$/ and /$cssdirDefArgs$/ have special meaning in a CSSDIR ini file. The symbolic code /$cssdirTmp$/ is referenced as the temporary scratch directory if it is defined and both the environment variable cssdirTmp is not set and the option -Tdir: is not active. The user definable symbolic code /$cssdirDefArgs$/ value is pasted immediately after CSSDIR (with only one space between CSSDIR and cssdirDefArgs value) and used if it is set AND environment variable cssdirDefArgs is not set. One may also reference any environment variable as a definition for a user definable Symbolic code. The format to reference an environment variable is /$$$envVar$/. So to reference environment variable tmp, use /$$$TMP$/. One may also reference environment variables on the command line via this method /$$$envVar$/. Please note that /$cssdirTmp$/ is initially set to /$$$tmp$/ by default. If you do not wish CSSDIR to write scratch info to that directory, please change appropriately or use -Tdir: option. CSSDIR also provides a number of automatically generated symbolic codes one can reference, items such as the current time, date, current CSSDIR process's ID, and so on. They follow the format of /$$autoGenerated$/. For instance to get CSSDIR process's ID use /$$PID$/, this may be handy in generating when combined with /$$TIME1$/ unique files name to be used with the -Of: option. To get a full listing of the ones automatically generated by CSSDIR (at invocation time) use 'cssdir -Dumpo:S' (along with other options and system specific information CSSDIR has detected). (K.) Other Utilities section: ***************************** The included cssmon.cmd ulitity is a classic rexx script which can provide monitoring status of any active CSSDIR.exe processes. Simply invoke cssmon.cmd and it will interactively look for all active CSSDIR processes on the local machine. If there is more than one active it will query you to select the one you wish to monitor. If there is only one it will immediately provide updates approximately every 1 to 2 seconds. One may also monitor remote CSSDIR processes on other machines if you have the processId of the active CSSDIR process on the remote machine. In this case invoke the command 'cssmon.cmd NAME=\\server1\pipe\cssdirPID', where \\server1 is the servername and PID is the decimal process ID. For each CSSDIR process, only one cssmon.cmd can query it for update information at a time. Also this query capability is only available with a PRO version license. This can very handy on very long running CSSDIR requests. (L.) Hints, tips, issues and caveats section: ********************************************* Tip: Dir versus CSSDIR difference: cmd.exe's 'dir /a /s' does NOT list any entries that are found in a hidden directory only the immediate hidden matching entries, whereas 'cssdir -a -s' will list all matching entries even ones in hidden directories. Tip: If a dirspec you explicitly request contains the following characters '~' or '@' or ';' you may escape the normal controlling effects by escaping them with a preceding '~'. i.e. cssdir filenam~~.txt (searches for 'filenam~.txt'. cssdir feb~;mar~;apr.report (searches for 'feb;mar;apr.report'. cssdir ~@fileA (searches for '@fileA'). You may also want to escape control characters during the -Sch: option, if you want to search for '$' or '+' then a leading '~' must be used, i.e. '~$' or '~+' (less the leading and trailing '). Tip and caveat: you may wish to use the attached cssdirm.cmd rexx script to pipe any of your CSSDIR invocations through the eComStation or OS/2 more.com or replace with a more powerful paging program. It can be handy to view the online CSSDIR reference help by issuing 'cssdirm -h' or extended help via 'cssdirm -hx'. Another suggestion is to look into using eComStation or OS/2's epm, one can buffer a sizable amount of data to scroll back through as well as save. Still another is to use -Of: and use a unix style tail program on the named output file in the -Of: option. Caveat: Use of the -Sch: option on binary files (or files that contain characters outside the range of ASCII values 32-127 decimal) may not detect search strings as requested, also this applies for files that have lines lengths that exceed normal line lengths. You can monitor these issues with the -Lasfw: option. If you still want to enable detection but have problems with a specific file, please see the -Xr1: option. Caveat: Duplicate finds are POTENTIAL duplicate files, even running a 32bit CRC on files does *NOT* absolutely guarantee an exact sized set of files contents to be identical. However the probability of them not containing the same contents is very very very small perhaps the odds are thought to be as small as over 4 billion to 1 that the contents of the files are in fact *NOT* the same yet both the files CRC, and files size produce the same result or other user select-able comparison options. However if the CRCs are different and CSS's CRC calculations are not in error (which is thought to be extremely slim), then the files are in FACT different. Further if the files are in fact the same, they may still be necessary in different directory trees, etc. If in doubt do NOT delete those files, seek a qualified knowledgeable systems professional to save yourself or your company unnecessary grief and panic (which can be common using some other environments) before just deleting those in question files. As always before you purge any files you're not ABSOLUTELY sure of, you should backup, backup and backup BEFORE you smoke something you wish you had a backup for. Further if you have mapped multiple ways of listing directory entries and then invoke CSSDIR to find such same named files, currently CSSDIR does *NOT* decipher they are in fact the same physical file. And if in fact they were the same file and you deleted what you thought was a duplicate file you would have blown away all others that were potential matching duplicated files mapped under different "aliased" names as well which actually really pointed to the same file! These duplicate or many "aliased" files will also produce incorrect used and other total fields. caveat: The concern of potential duplicate logic explained above also can have an effect on *NOT* detecting unique files when using the -Lxuf: option, but many professionals in the industry would agree the odds are very very small and extremely rare but I emphasis still possible but highly improbable. A most definite way but one that can be very expensive, especially on a large set of large files in terms of time, in making absolutely sure is to do a byte by byte compare of all files in question, including the Eas. This may be added as a feature in the future. If you need this now or desire it, private consultation with CSS may be able to add it much sooner than later. caveat: remote access via UNC or via a remotely mapped drive with EXT2 (linux partition) OS/2 non-IBM third party IFS driver does not work reliably, for that matter it also does not work reliably with cmd.exe's dir either. Basic tests locally with a mapped drive (via only EXT2 IFS driver) (and also not remotely) appear to work both with dir and CSSDIR. However if one references either via dir or CSSDIR neither handle locally accessed UNC accesses properly. Using any EXT2 accesses with CSSDIR and associated software or the reliability thereof is not supported and is totally at the user's own risk. caveat: NDFS IFS driver (netdrive) file access is in the preliminary testing phase. An issue has come up that if such ftp accessed systems allow the same name to be used for files that just differ in case (such as Unix), CSSDIR will at this time consider such a file as a duplicate in name and flag it if the -Lmcd:A or -Lmcd:Y option is set and then abort. Currently any issues with invoking CSSDIR on or to references for dirspecs/filespecs on NDFS mounted drives (directly or indirectly, such as remapped as a LAN drive via a network share) are NOT currently supported until further notice. (If you need this type of support, CSS private consultation may be available.) caveat: accessing files on a JFS file system directly or via a UNC or mapped LAN drive or possibly other file systems of greater than or equal to 2 (two) gigabytes in size files, AND do NOT have appropriate fixpacks and kernal installed will get an incorrect filesize. In our test cases we have found that a bogus size of 1 byte is reported (this also happens with cmd.exe's dir). *****************************************************&************************ (M.) Definitions/references section: ************************************ CRC - cyclical redundant checksum, and data integrity algorithm that aids in detecting data corruption. CSS -Curtis Systems Software P.C. has extensive experience in the development of many industries with software engineering and working with hardware designers, with 20 years of experience, 15 years in expert real time and embedded systems. As well as over 10 years of OS/2 and eComStation use and development experiences. We are committed to quality, value, truth, and the pursuit of excellence, visit www.curtisSystemsSoftware.com. CSSDIR - Curtis System Software Directory Program, the most powerful directory or cataloging program for eComStation and OS/2 Warp 4 known to exist. CSSDIR ini - CSSDIR initialization file, which contains symbolic definitions which effectively provide a convenient abbreviated way to reinvoke CSSDIR with out relooking up a potentially complicated options setting sequence. By default unless cssdirIni environment variable is set, its name is CSSDIR.ini. If this file exists in the current directory it is used otherwise it will be looked for in the actively invoked CSSDIR.exe's directory. If it can not be found a warning will be issued. DORA* - a -Dir: option default setting which is (O)ver(R)ide(A)ble. It is a default option setting that can be specifically overridden within the context of the -Dir: option. Such DORA* options include /a /s /Srd: /Srs: /Srz: /Wc:. hintString: This a coded string which may contain a short hand code as well as a uniquely assigned directory coded string, the -Lxpo: setting and a '-' denoting no merge was requested or a '+' that one has been requested via the -Lxpo: option. See the -Lfh option for more explanation. LORA* - a -List: option default setting which is (O)ver(R)ide(A)ble. It is a default option setting that can be specifically overridden within the context of the -List: option. Such LORA* options include: /Lfa /Lfb /Lfc /Lfd /Lff /Lfh /Lfl /Lfm /Lfn /Lfr /Lfs /Lft /Lfu /Lfx /Lfz /Lrab/Lrcb/Lrdi/Lref/Lrhb/Lrlh/Lrll/Lrlp/Lrlt/Lrnd/Lrne/Lrnf/Lrns/Lrrb /Lrrs/Lrsb/Lrse/Lrsf/Lrsl/Lrtbeg:/Lrtend:/Lrts/Lxhp:/Lxo:/Lxpo:/Lxrst:/Lxuf:/L xufao: and /o. In a nutshell all CSSDIR options that start with Lf, Lr, Lx and -o are LORA options enabled. NORA* - (N)on (O)ver(R)ide(A)ble options - options that can only be set via a leading '-' and also are neither DORA* or LORA*. short hand code - aka shcode, is an assigned code for a given base path name and dirspec, usually displayed instead of displaying a base directory name. Also can be useful to reBuild a full file spec with these values and the relativepath name. [See also options -Lff, and -Lrsl] www.curtisSystemsSoftware.com - website for CSSDIR and other quality products and computing services. www.eComStation.biz - International reseller (North America focus) for purchasing eComstation and related products. www.eComStation.com - home of the enhanced and polished version of OS/2, or eComStation, packaged by Serenity Systems (www.serenity-systems.com). www.mensys.nl/indexuk.html - a good source to purchase eComStation and OS/2 software. www.os2bbs.com - good shareware source for OS/2 and eComStation, worth subscribing to each and every year. ****************************************************************************** (N.) Terms and Agreement Section: ********************************* TERMS AND CONDITIONS OF SALE, LICENSE AND USE OF CSSDIR (and use before purchasing CSSDIR in a trial or "demo" capacity) and associated software "Software" produced and/or distributed by Curtis Systems Software P.C. (CSS). This software is protected by United States and International Copyright Laws. Should any term of this License Agreement be declared void or unenforceable by any court of competent jurisdiction, such declaration shall have no effect on the remaining terms hereof. Use of this software for any purpose whatsoever constitutes your unqualified acceptance of the following statements: Curtis Systems Software P.C. (CSS), the author, makes no warranty or representation that the software will be error free. CSS disclaims any warranties, either express or implied, including but not limited to any implied warranty of merchantability or fitness for any particular purpose. The user agrees to take full responsibility for the selection of and any use whatsoever made of the software. IN NO EVENT WILL THE AUTHOR BE LIABLE FOR ANY DAMAGES WHATSOEVER (INCLUDING WITHOUT LIMITATION DAMAGES FOR LOSS OF BUSINESS PROFITS, BUSINESS INTERRUPTION, LOSS OF BUSINESS INFORMATION OR THE LIKE) ARISING OUT OF THE USE OF, INTERRUPTION IN THE USE OF, OR INABILITY TO USE THIS SOFTWARE, EVEN IF THE AUTHOR HAS BEEN ADVISED OF ANY POSSIBILITY OR LIKELIHOOD OF SUCH DAMAGES. I. Customer obligations A.) Customer assumes full responsibility that this licensed computer software (the software) meets the specifications, capacity, capabilities, versatility and other requirements of Customer. B.) Customer assumes full responsibility for the condition and effectiveness of the operating environment in which the software is to function, and for its installation. II. CSS's conditions of Sale A.) CSS makes no warranty as to the design, capability, capacity, or suitability for use of the Software, except as provided in this paragraph. Software is licensed on an "AS IS" basis, without warranty. The original Customer's exclusive remedy in the event of a software manufacturing defect, is its repair or replacement within thirty (30) calendar days of the date of the CSS sales document received upon license of the Software. The defective Software shall be returned to CSS or place of purchase with the sales document. B.) Except as provide herein no employee, agent, franchisee, dealer or other person is authorized to give any warranties of any nature on behalf of CSS. C.) Except as provided herein, CSS makes no express warranties, and any implied warranty of merchantability or fitness for a particular purpose is limited in its duration to the duration of the written limited warranties set forth herein. III. Limitation of liability A.) Except as provided herein, CSS shall have no liability or responsibility to customer or any other person or entity with respect to any liability, loss or damage cause or alleged to be cause directly or indirectly by "Software" sold, leased, licensed or furnished by CSS, including, but not limited to, and interruption of service, loss of business or anticipatory profits or consequential damages resulting from the use or operation of the "Software". In no event shall CSS be liable for loss of profits, or any indirect, special, or consequential damages arising out of any breach of this warranty or in any manner arising out of or connected with the sale, lease, license, use or anticipated use of the "Equipment" or "Software". Notwithstanding the above limitation and warranties, CSS's liability hereunder for damages incurred by customer or others shall not exceed the amount paid by customer for CSSDIR and associated Software "Software" involved. IV. CSSDIR and associated Software License CSS grants to Customer a non-exclusive, paid up license to use the purchased specific version and type of license (Pro or shareware) of CSSDIR and associated Software on one computer, subject to the following provisions: A.) Except as otherwise provided in this Software License, applicable United States and/or International copyright laws (whichever is more protective to the producer of CSS copyrighted material(s)) shall apply to the Software. B.) Title to the medium (if any) on which the Software is recorded or stored (diskette, CD, etc.) or downloaded is transferred to the customer, but not title to the Software. C.) Customer may not have CSSDIR and associated Software active on more than one computer for each license. Further if CSSDIR and associated software is made available via LAN or Internet or the functionality thereof, then no more than one copy of CSSDIR and associated software per license is legally allowed. Also for EACH real or potential CSSDIR simultaneous user, a purchased appropriate type of license (PRO or shareware) and version is required. D.) Customer shall not use, make, manufacture, or reproduce copies of Software except for use on one computer and as is specifically provided in this Software license. Customer is expressly prohibited from disassembling or decompiling the software. Customer is expressly prohibited from using any of CSSDIR's documentation and/or nomenclature in other products without explicit written permission from CSS. E.) Customer is permitted to make additional copies of the Software only for backup or archival purposes or if additional copies are required in the operation of one computer with the Software, but only to the extent the Software allows a backup copy to be made. F.) All copyright notices shall be retained on all copies of the Software. V. Applicability of Warranty A.) The terms and conditions of this Warranty are applicable as between CSS and Customer for sale of a Software License to Customer. B.) The Limitations of liability and Warranty provisions herein shall inure to the benefit of CSS, the author, owner and or licensor of the Software. VI. Additional license(s) discounts constraints Any Company that purchases and retains ownership of one full priced license for a given specific version may be eligible for subsequent licenses of the same license type and version at a discounted price if the following are met: 1.) license type and version are still available for sale by CSS AND 2.) additional license will not be resold (license can not be transferred) AND 3.) the additional license(s) is/are for and are to be used exclusively by the same individual, company or corporation located at the same physical address. VII. Shareware licensing. In event the user has acquired CSSDIR and associated software as in a trial use (as to determine it usability) after 30 calendar days from its first use, the user must purchase either a CSSDIR PROfessional version or register the shareware version at the current shareware pricing for each computer they are going to use it on, including section IV C. (see above) or remove it from all their computers, and backups, and refrain from using it. Please comply any thing less is prohibited, CSS does appreciate your compliance. Thank you. ****************************************************************************** (O.) Acknowledgments section: ***************************** CSS expresses thanks to all the beta testers, Glenn Hudson (especially for version 2.0) for his time, insights, and valuable suggestions. IBM for OS/2, and Serenity Systems for eComstation 1.0 and 1.1, thank you Bob St. John and Kim Cheung. I also want to thank Roderick Klein, Douglas Clark, John Urbaniak, Chip Davis, Jan van Wijk, and Steve Levine, for other related discussions and/or emails. And the many people that have contributed to helping make eComstation a reality, which aided CSS in developing CSSDIR in a stable know what you got day in day out environment. ****************************************************************************** (P.) Release Revisions section: ******************************* 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 ****************************************************************************** 123456789012345678901234567890123456789012345678901234567890123456789012345678 <end of document>