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