clonespy/scripts 6.8.18:

{ openware, freeware, v.libraries }
. the clonespy file.mgt tool provides versatility by
saving and loading a user-specified settings file (*.cst)

. this article describes some tools in terms of the clonespy options that should be saved as settings;
the tools include:
script# merge favorites.cst
script# dbl-org (linkmaker with undo).cst
script# file-clean (with undo).cst
script# merge-clash checker.cst
6.9.12:
script# 2-fs merge (id'als killed from pool 2).cst
6.10.24:
script# partition (like script# 2-fs merge (id'als killed)):
. a 2-class partition could also be called
( cut&paste preserving full pathname )
. to separate a subfolder system into 2,
make a copy of it, and identify them to clonespy as pool#{ 1, 2 }
. then after cleaning-out pool#1 the way it should be;
run clonespy#partition;
and, it will automatically clean pool#2
so that the result is a partition:
ie,
anything found pool#1 will not be found in pool#2,
and if something is not in pool#1, it will be in pool#2 .


{ openware, freeware, v.libraries }

glossary:


identical files:

 . files sharing the same case-sensitive name,
and the same value (contents) .

abs.name (absolute name):

. the name after converting all chars to uppercase
(std ms`xp behavior) .
{ openware, freeware, v.libraries }

description of tools:

script# merge favorites

. searching for dup'y bookmarks can be stumped by 2 things:
. the site`s address is just one part of the link, and the other parts can change
. the name -- including it's case -- is significant, because often there may be several uses for a site,
and name diff's are indicating these uses .
. this routine
searches pool#1 by case-sensitive name, and then dup's go to recycle bin;
hence all remaining names are unique,
but not to xp, which is case-blind;
so if your lowercase name has the same abs.name as some site`s mixed-case name,
then a clash will occur during folder merges
. for 100% insurance, run merge-clash checker
. another problem is that the same abs.name in diff'nt folders
was pointing at diff'nt sites,
so the only way to be very careful is to browse the recycle bin,
checking for the sorts of names that are likely to collide due to having short common names .
. yet another way to get into trouble with clonespy,
is having no way for the folder name to be considered part of the file name
so that your museum of worst sites still contains <aweful site>,
while your high-priority research folder on internet sociology
no longer has any reference to them
(clonespy may have some way around this that's hiding from me) .
{ openware, freeware, v.libraries }

script# dbl-org (linkmaker with undo)

. this lets you create perfect links
-- none of xp`s prefixing every name with "(shortcut to) --
by letting you work with copies as if they were links
. the primary purpose is to
let all actual files reside in a chrono-ordered fs (the log),
and then other fs's can show other arrangements efficiently as links .
. to run this routine
you need to know the name of the home and link folders:
. you are copying the files from their home folder set
and placing them in a diff'nt folder system, the links folder set
. then in clonespy,
after loading script# dbl-org (linkmaker with undo)
assign the places:
( pool#1 = home folder set
, pool#2 = links folder set
) . it then searches by (name, case, contents)
. deletions are going to the recycle bin: flush soon
. for undo, select the recent deletions in the recycle bin,
and request a restore .
{ openware, freeware, v.libraries }

9.12 script# 2-fs merge (identical's killed from pool#2).cst

. similar to script# dbl-org (linkmaker with undo);
but, really deletes from pool 2 if files are identical .

script# file-clean (with undo)

. searches 1 pool by contents but not by name
and duplicates go to a new fs, to preserve the pathnames,
and also to let you undo simply by
merging the deletions fs back with the original
(9.12/todo: this works on ms`xp;
I'm told apple`mac os won't merge files like this;
is that true with os x? )
. the new fs is named by timestamp in the clonespy directory
. if there are dup's, it deletes the older files
(changeable from the main dialog)
. it's very important to review the deletions folder
since many times the same file contents
will have very informative but varying names
. also, looking at the undo`fs may clue you into
problems with needing a comparison of packages rather than files;
 ie, if the cleanup does involve sw pkg's,
then you can find that the same pkg of various versions
will often have some files that are common between versions;
and if you find that situation,
then you know you need to compare their superfolders,
and toss the older version
(9.12/todo.adde:
. that's one thing clonespy really needs:
some way to compare not only exact or abs.names,
but also name fragments of both files and superfolders
with an option to specify a level .
{ openware, freeware, v.libraries }

option#linkmaker
( menu"file/options/deletion/shortcuts/replace all deleted files by a shortcut to a retained file? ):

. the routine"script# file-clean (with undo)
 does not leave links in place of the deletions,
but that is an option you may sometimes consider helpful
esp'ly when the cleaning involves web downloads,
where the sw pkg's and complex pages often reuse component files,
and won't work right if the components aren't there .
{ openware, freeware, v.libraries }

script# merge-clash checker

. this compares pool#1 to pool#2 by abs.name
(comparisons are not case-sensitive since you're working under xp),
 and produces a list showing where the names are the same,
but this is a last-resort tool,
 because many files use their parent folder for part of their name,
so esp'ly searching through web downloads will be full of dup's that never would have crashed
. what you really need is comparison of name that includes
a given level of the entire pathname  (todo: xxcopy has a tool for this)
. 7zip can auto-rename clashes during a decompress .
{ openware, freeware, v.libraries }

clonespy`dialog/mode (in: pool#1, both pools, pool+csc)

{ script# merge favorites
, script# merge-clash checker
, script# file-clean (with undo) -> pool#1
, script# dbl-org (linkmaker with undo)
    , 2-fs merge (id'als killed from pool#2 -> both pools
} .

clonespy`dialog/search for (mode: dup's, dup+samename, same name, same name n size)
{ script# merge favorites
, script# merge-clash checker     -> same name
, script# dbl-org (linkmaker with undo)
    , 2-fs merge (id'als killed from pool#2) -> dup+samename
, script# file-clean (with undo) -> dup's
} .

clonespy`dialog/action/[interaction mode]

(in: export a list, ask user, auto del (wo confirm)):
{ script# merge-clash checker -> ask user
, others -> auto del (wo confirm))
} .

clonespy`dialog/action=auto del (wo confirm):

(del select in: pool#, file age, size of {file, full path, full name, dir path))
{ script# merge favorites -> pool#1
, script# file-clean (with undo) -> older files
, script# dbl-org (linkmaker with undo)
    , 2-fs merge (id'als killed from pool#2) -> pool#2
, script# merge-clash checker -> n/a (asks user)
} .

clonespy`dialog/on auto' deletion (in: directly, defer del to batch file [make a script you can run later]):
delete directly .
{ openware, freeware, v.libraries }

clonespy\file\options:


time + size/time of files must be: no min,max date
time + size/size of file must be: no min,max size
time + size/size of same-name files/allowed difference between files: 0
time + size/zero length files: ignore [ you might use empty files as reminders ] .

attributes/file attributes of scanned files:

( read-only -> ignore
, hidden, system -> must not be set
, archive -> ignore
) .


{ openware, freeware, v.libraries }

attributes/deletion of read-only files:

. display confirmation window [ask user]
.

logging/logging properties: enable ?

{     script# merge favorites
    , merge-clash checker    
   -> no
, script# dbl-org (linkmaker with undo)
    , file-clean (with undo)
    , 2-fs merge (id'als killed from pool#2)
    , partition
   ->   yes:

    ( logging/logging properties/enable [logging of]?

    { script# dbl-org (linkmaker with undo) ->  error msg's
    , script# file-clean (with undo) ->
        (files retained, folders deleted, error msg's),
    , script# 2-fs merge ->  (files retained, error msg's),
    , script# partition ->  files retained,
    , others -> n/a
    }

    , logging/log file/[addition mode in (insert, overwrite, append)?]

    { script# dbl-org (linkmaker with undo)
    , 2-fs merge (id'als killed from pool#2)
    , script# file-clean (with undo) ->
        make a new file [ each run gets it`s own log ] .
    , others -> n/a
    }
    , logging/log file/file: I:\clonespy (DUH load your settings)\<
    { script# dbl-org (linkmaker with undo) ->
         linkmaker err's.log
    , script# 2-fs merge (id'als killed from pool#2 ->
        2-fs merge err's n retained.log
    , script# partition ->
        partition` err's.log
    , script# file-clean (with undo) ->
         cleaner retained.log
    , others -> n/a
    } >
} .

{ openware, freeware, v.libraries }

deletion/how to delete:

{ script# merge favorites
, script# merge-clash checker
, script# dbl-org (linkmaker with undo) -> delete to recycle bin
, script# 2-fs merge             -> delete perm'ly
, script# file-clean (with undo)     ->
    move to folder:
    deletion/mov to folder:
    { script# file-clean (with undo) ->
        (retain folder structure? yes
        , folder: <clonespy`s folder>
        )
    , others -> n/a
    }
}


{ openware, freeware, v.libraries }

deletion/of folders: if the last file in it was deleted ? yes .


deletion/shortcuts: replace all deleted files by a shortcut to a retained file?

{ script# file-clean (with undo)
    2-fs merge     -> no [see log of retained]
, script# merge-clash checker -> n/a [but yes]
, script# merge favorites -> no [and no log either]
, script# dbl-org (linkmaker with undo) -> yes [but log contains only err msg's]
}


report/presentation of equal files:

wait until all files are scanned? display all together .
report/ignore errors: while?
( deleting -> yes
, scanning for equals, generating checksums -> no ) .

files/restrict to files or file patterns: enable? no .
files/exclude files or file patterns: enable? no .
{ openware, freeware, v.libraries }

export/batch file properties:

[9.12: n/a: do action directly (auto'ly) rather than
generating script I can run later ]
, format: <default = del /f "%dp">
) .

export/export list properties:

( [addition mode (in append, overwrite, new)?] make new file
, file: <default=  I:\exportlist.txt>
, format: <default= %s  %p  %t>
) .

{ openware, freeware, v.libraries }

folders/ignore specified folders: enable? yes:

masks = ( <default=system files of xp and the clonespy folder> ) .

folders/hidden folders: ignore hidden folders? <default=yes> .


priority/scanning priority: run scanning process with priority = normal .

names/override delete selection: enable ? no

{ openware, freeware, v.libraries }

names/comparison of names: case sensitive?

{ script# merge favorites
, script# dbl-org (linkmaker with undo), 2-fs merge,
, script# file-clean (with undo)     -> yes
, script# merge-clash checker -> no
}
--.  for cleaning anything, use sense-case?yes
and then if merging folders, use merge-clash checker
. case is not a concern on mac n unix systems, but is for case-blind xp .
(details:
. your names never use case?
it shouldn't matter whether clonespy`case is sensitive
unless
you renamed a file that was the same as another author`s after discounting case .
and then merged folders;
so,
 for cleaning anything, use sense-case?yes
and use merge-clash checker,
alternatively,
instead of using merge-clash checker,
using (sense-case?no) will catch all the same clashes that xp would delete,
and will save those files along with their pathname,
and then make a cd of that
--. the problem with that plan
is that cd's work by dye that is prone to aging;
thus complicating procrastination .
. during a dbl-org, you want to match both name, case, and value,
so sense-case?yes
--. the dbl-org thing is not an issue in an ptr-based or object-o'd fs,
since copies are links that identify exactly .

)-details

{ openware, freeware, v.libraries }