home *** CD-ROM | disk | FTP | other *** search
-
- MOVE, written by Kai Iske August 16. 1993
- This is PUBLIC DOMAIN; you may do with it whatever you like
-
- If you change/republish/delete/sell the program or do anything similar, please
- be so kind to keep my name within the program and all the other files, even
- though you`re not obliged to, as for the definition of Public Domain
-
- I wrote Move because all of the available moves out there couldn`t suffice my
- needs. They lacked this and that, so I wrote my own which also includes
- switches like those known from e.g. Rename.
-
- MOVE was written using SAS 6.51....
-
- !!! Move requires OS 2.x and up to run, Move is PURE !!!
-
-
-
- ------------------
- What does MOVE ???
- ------------------
-
-
- Well, it moves files from here to there. You may issue as many source files
- as there fit on one command line, even including patterns. Issuing directory
- names will cause Move to create a directory of the same name within the
- destination directory (if not already existent) and move all the files from
- the source directory to the new destination. Furthermore all directories
- within the source will be collected recursively. There are several options
- for Move:
-
- Move FROM/M,TO/A,CLONE/S,DATES/S,NOPRO/S,COM/S,QUIET/S,NOREQ/S,FORCE/S
-
- Explanation
-
- FROM : From file(s)/pattern(s)
- TO : Destination directory
- A destination file will be accepted only if there are no
- multiple files to be moved.
- CLONE : Clones file date, file comment and protection bits
- DATES : Only file dates and file protection will be cloned
- NOPRO : Per default the protection bits will be cloned. You may
- disable this feature using NOPRO
- COM : Only file comments and file protection will be cloned
- QUIET : Per default Move runs in verbose mode, ie. all file-/dirnames
- will be printed within the Shell. This option will disable
- verbose mode.
- NOREQ : This one is used to disable "Please insert xxx in yyy" Requesters
- FORCE : Move a read-/deleteprotected file to a write/deleteprotected
- file, i.e. no matter what bits are set for a source/destination
- file, it will be moved/overwritten.
- BUFFER: This option may be used during inter-device moves. Normally
- move will allocate as much memory as needed to hold the complete
- file in ram so that only one Read()/Write() pair is needed in
- order to accomplish the move. If there isn`t enough memory
- for the file, Move would try to "fall back" to a suited
- memory size. You may use this option to tell Move the
- maximum buffer size. The size specified will be interpreted
- as KB, so that a value of 1 will result in a 1KB buffer.
-
-
-
- Examples
-
- Move *.c *.h SMakeFile PictureDir t:
-
- Will move all files ending with ".c"/".h", a file called SMakeFile, and
- a directory PictureDir to t: (PictureDir will be created then)
-
-
-
- -----------------------
- How to install MOVE ???
- -----------------------
-
- Simply copy it to a directory within you search path (eg. C:)
-
-
-
-
- -----------
- Version 1.0
- -----------
- - initial release
-
-
- -----------
- Version 1.1
- -----------
- - Added well known CLONE, DATES, COM, NOPRO,
- QUIET and NOREQ options also used by e.g. Rename
-
- -----------
- Version 1.2
- -----------
- - Added CTRL-C checking
- - Added FORCE Flag in order to move read/deleteprotected or
- to overwrite a delete/writeprotected files
-
- -----------
- Version 1.3
- -----------
- - UnLock Problem solved when doing recursive Dir-Moves
- This bug lead to "Object in use" error messages
-
- -----------
- Version 1.4
- -----------
- - Now uses Rename() when source and dest are on the same
- device. This is faster ;) Why haven`t I thought of that
- earlier ??? ;)
-
- -----------
- Version 1.5
- -----------
- - Freed the FileInfoBlock _BEFORE_ setting the Bits, Comment
- etc. This lead to MungWall hits (of course it did)
- (Reported by Nico Francois)
- - Exidentially called one ExAll() without ED_SIZE
- This lead to some calls to DoTheMove without the Size set ;)
- (Reported by Karsten Weiss)
-
- -----------
- Version 1.6
- -----------
- - Move got screwed up, when attempting to move a
- zero size file
- - Added Buffer Keyword to specify the maximum buffer
- size for an inter device move. Normally Move would have used
- the max amount of available free memory in order to
- accomplish the move, or the size needed by the file...
- (Suggested by : Christof Damian)
- - One couldn`t rename a file using move, because the
- "destination" file was removed before doing the rename,
- ie. the source file was deleted.
- (Reported by : Chris Conger)
-
- -----------
- Version 1.7
- -----------
- - Error while moving to a "device full" disk
- (Reported by : Chris Conger)
- - FileName length-bug fixed
- (Reported by : Juergen Lang)
- - Recompiled using SAS 6.50
- - Stack usage reduced
-
- -----------
- Version 1.8
- -----------
- - Added PURE information to Doc, since Move really is pure
- (Suggested by : Albert-Jan Brouver)
- - Due to the move-renaming bug one couldn`t rename a dir
- an Assign was put on.
- (Reported by : Albert-Jan Brouver)
- - Fixed move-renaming of directories.
- (Reported by : Albert-Jan Brouver)
- - Move had some severe problems recursively moving
- the contents of a directory
-
- -----------
- Version 1.9
- -----------
- - On recursive moves, Move will indent the output according to
- recursion depth. This is for better readability
- - Move will refuse to move a dir to itself now.
- - One couldn`t move a dir to another dir on the same device
-
-
- ------------
- Version 1.10
- ------------
- - Move didn`t end up some operations with a "moved" string,
- thus leading to corrupted display
- (Reported by : Albert-Jan Brouwer)
- - One still couldn`t rename a directory
- (Reported by : Albert-Jan Brouwer)
-
-
- -------------
- Version 37.11
- -------------
- - Changed version numbering to official scheme
- - One couldn`t move the entire contents of a directory
- to a dir within that directory (eg. Move #? Dummy)
- - One couldn`t move directories, if the destination dirs
- already existed (eg. Move Dummy1 Dummy2 t:; if Dummy1
- and Dummy2 both existed in t:)
- - OldWindow and HitMask vars weren`t preset to 0
- (Reported by : Christian Buchner)
- - When one issued something like this "Move #? dummy/",
- Move stopped when trying to move dummy to itself ;) Fixed
-
- Hope you like it, if not, delete it......
-
-
-
- So long,
-
- Kai
-
-
-
-
- --- Kai Iske
- Brucknerstrasse 18, 63452 Hanau, Germany, Tel.: +49-(0)6181-850181
- Z-Net : KAI@SWEET.RHEIN-MAIN.DE Fido: Kai Iske, 2:244/6302.11
- internet : iske@informatik.uni-frankfurt.de IRC:kiske
- ---- Life sucks ----
-