|
|
Module: | file_monster |
Description: | Goes through directories etc and collects information on files etc. |
Version: | 2.2 |
Last Edit: | 05/12/13 |
|
Copyright © 2006 Richard J. Edwards - See source code for GNU License Notice
Imported modules:
rje
rje_db
rje_obj
rje_zen
See SLiMSuite Blog for further documentation. See rje
for general commands.
Functions
<1> File Monster: [scavenge=T
, organise=X
and/or cleanup=T
]
Goes through directories etc and collects information on files etc. "scavenge=T
" will output a file containing
relevant file names and locations, ages and sizes. "monster=T
" will compare for identical files and farm them off
into another directory for possible deletion.
<2> DirSum: [dirsum=T
]
Goes through directories and subdirectories and summarises the number of files and subdirectories they contain. If a
directory contains less than X subdirectories [dircut=X
] then the subdirectories of that directory will also be
summarised. Output is in the form: PATH,files,subdir
<3> Rename: [rename=T
]
Renames all the chosen files [filelist] with the given prefix [prefix=X
] into outdir. If usedate=T
, dates will be
added to the prefix (e.g. outdir/prefixdate_num) otherwise new names are just outdir/prefix_num.
<4> Fix line endings [fixendings=LIST
]
Replace Mac \\r with \\n line endings in place with option to backup old file (unless backups=F
).
Output
File = File (or directory) name (no path)
Parent = Parent directory from DirList
Folder = Path containing file (or directory)
Type = File extension (or "DIR")
Size = Size in bytes
Date = Age converted to human readable string
Age = Age of file (MTime) in seconds
CTime = String representation of Creation Time
MTime = String representation of Modified Time
ATime = String representation of ATime
FilePath = Full path to file
General Commandline
filelist=X,Y,..,Z
: List of files of interest. Can have wildcards. [*
]
dirlist=LIST
: List of directories to look in, in order of preference good -> bad for duplicates. [./
]
subfolders=T/F
: Whether to look in subfolders [True
]
stripnum=T/F
: Whether files may have -XXX numerical suffix from renaming, which should be stripped [False
]
File Monster Commandline
oldmonster=T/F
: Whether to run old File Monster (V1.x). Will be retired once update complete. [False
]
outdir=PATH
: Output directory for renamed/reorganised files [./Organised/
]
dumpdir=PATH
: Directory in which to dump redundant files (don't move if "None") [./Redundant/
]
cleanup=T/F
: Whether to delete empty directories (and move/delete stripnum) [False
]
cleanfiles=LIST
: List of hidden files to delete during cleanup if directory seems empty ['.picasa.ini','.DS_Store'
]
sizematch=X
: Size % similarity threshold to count as match [99.9
]
skiplist=LIST
: List of filenames to skip [thumbs.db
]
organise=X
: File reorganisation mode (none/date/month/compile) [None
]
orgprefix=X
: Prefix for organised outdir subdirectories [''
]
redundancy=T/F
: Whether to check/rate redundancy for scavenge etc. [True
]
scavenge=T/F
: Whether to perform collation of file information [False
]
searchid=X
: ID for search - allows multiple searches to be compared easily [None
]
DirSum Commandline
dirsum=T/F
: Whether to perform summary of directory contents [False
]
dircut=X
: Max number of subdirectories to have and still delve into them [50
]
dirdepth=X
: Max depth of subdirectories to delve into. Negative = all. [-1
]
extlist=LIST
: List of file extenstions to report individual stats for [''
]
LineEndings Commandline
fixendings=FILELIST
: Replace Mac with UNIX line endings for FILELIST (wildcards allowed) []
OLD COMMANDS
File Monster Commandline
monster=T/F
: Whether to perform monster cleanup of redundant files [False
]
gooddir=LIST
: List of "good" directories to be automatically kept if i<1 (including subdirs) []
baddir=LIST
: List of "bad" directories to be automatically screened if i<1 (including subdirs) []
keepnew=T/F
: Preferentially keep newer files of same size if good/bad status equal [True
]
purgelist=LIST
: List of filenames (allowing wildcards) to purge (move/delete) [WS_FTP.LOG
]
Rename Commandline
rename=T/F
: Whether to rename files [False
]
sortby=X
: Whether to sort by date or name [date
]
prefix=X
: Text prefix for new file names []
usedate=T/F
: Whether to use date in new name [False
]
History Module Version History
# 0.0 - Initial Compilation.
# 1.0 - Initial Working version
# 1.1 - Broadened away from strict extension-based scavenging to whole file names with wildcards
# 1.2 - Added DirSum function and updated FileMonster slightly.
# 1.3 - Added redundant file cleanup
# 1.4 - Added skiplist and purgelist
# 1.5 - Added rename function (to replace rename.pl Perl module)
# 1.6 - Minor bug fix.
# 2.0 - Major reworking with new object making use of rje_db tables etc. Old functions to be ported with time.
# 2.1 - Added dirsum function.
# 2.2 - Added fixendings=FILELIST to convert Mac \\r into UNIX \\n