MoveObject Version 1.xx by Mikero
read genreadme.txt
see fixes.htm
-R is deprecated, use dep3d.exe instead
[.p3d] is no longer a default. The extension must be specified
see ListObjects.bat at end of document.
-------------------------------------------------------
MoveObject will rename file paths inside *any*
whether binarised or plain.
The intention of moveobject is that you should be able to extract ANY of
these file types from one addon, and place it in another addon without fuss.
In addition moveObject will unconditionally remove a drive specifier (p:\
eg) whenever encountered.. This option is bests suited to folder scans where
the arguments for replacement are dummy
For anyone who's been there and dun that, hand editing the path names inside
individual p3d's, let alone 30 or so p3d's, well, frankly, just throw money
There are two classes of usage using moveobject. Listing
content, and separately, renaming content.
--------
usage
MoveObject [-options...] FileOrFolder // list only
MoveObject [-options...] FileOrFolder [from to]
MoveObject [-options...] FileOrFolder replacement.list
Files examined are
options (case insensitive) | |
-P | don't pause |
-V | verify after changes |
-X | convert all references to lowercase |
=====================================================
Automatic removal of drive:\ specifiers or \hard\path
This occurs automatically for all files whether other changes are made or not.
to simply remove all drive specifiers without further fuss
moveobjext [-P] nameOfFileOrFolder dummy dummy
normal replacements can also be specified
lowercase removal
similar to above all file references are forced to lowercase.
moveobjext [-P]X nameOfFileOrFolder dummy dummy
'from' references are case insensitive when matching. the to reference is, as stated, on the command line (or replacement list)
-List examples
MoveObject NameOfRVmat.rvmat
Moveobject folder >pipe.txt 2>&1 //
full folder tree
the list option is used to
a) check what paths are in the model to change
b) check the change took place
Rename Example
MoveObject MyOldP3d MyGreatAddon\somewhere\data MyNewAddon\Henry\Marbles\wherever\you\want
the original file(s) are not preserved. It is your
responsibility to tuck them away safely somewhere.
The file file is NOT altered if an error is encountered.
Wildcard repalcement
A severely limited wildcard astersk is use to alter ONLY speficic file.ext references
moveobject -options fileorfolder aaa\bbb*.paa ccc\ddd\eee
will only affect references to paa files (in this example)
-------
The two tandem batch files in the package are examples of how to make a global
change to all files in a given folder
There usage may not be necessary with the folder option introduced at a revision i don't now recall. They are preserved for your interest.
Notes:
All renaming must be from start\of\folder.
if you specify a leading slash, it will be ignored. It is
neither correct, nor incorrect to do so. It is however, extremely convenient to
use dos tabbing to fill out the full pathway. Similarly (because of dos tabbing)
a drive: specifier is also ignored.
Bis have made their usual cock up of hard versus relative
addressing in their file structures. They are unlikely to ever fix what is
beyond their abilities. The bottom line is, no matter what, no if's and no maybe's. ALL
bis addressing is \hard\path. So this makes ooops object modelling a frustrating
and pointless waste of effort.
However, because of their own internal mess, *some* path specifications must have a preceding slash, some must *not* have, and other types don't care. Move object takes care of which is what without you worrying about it.
Where you have differing child paths, (and most models have lots
of differing child paths) you need to successively invoke MoveObject until
you are complete: Starting with children then parents. MoveObject eases this by
accepting a replacement.lst file of iterative lists.
Restrictions:
ofp unbinarised p3d's (odol-sp3x) cannot have
Wrp unbinarised ofp files (4WVR) cannot have
wrp unbinarised arma files (8WVR) cannot have
Be prepared to wait a very long time on 1gig wrp files
Replacement.list
the text file must contain the following format (as if each line were passed on
the command line)
The name of the text file is irrelevant. replacement.lst
is what movefolder uses when firing up moveobject
OldName1 space NewName1
OldName2 space NewName2
the parser for this is very primitive and very unforgiving
ListObjects.bat
This batch file produces a sorted list of all files found in any p3d, rvmat, wrp, pew or folder. (binarised or otherwise).
It is particularly used when upgrading your island to a new engine and evaluation which other addons will be needed
syntax:
ListIslandObjects Name\of\Folder
ListIslandObjects Name\of\wrp:p3d.rvmat.pew
The item (or folder) can simply be dropped onto this bat file.
Sorted and output is to NameOf.objects.txt
Enjoy