Path: utzoo!utgpu!news-server.csri.toronto.edu!cs.utexas.edu!asuvax!noao!ncar!gatech!utkcs2!ornl!rm3 From: rm3@ornl.gov (MCBROOM R C) Newsgroups: comp.os.msdos.programmer Subject: Re: Symbolic link in MS-DOS Message-ID: <1991May31.175753.14285@ornl.gov> Date: 31 May 91 17:57:53 GMT References: <1991May29.153829.8742@bullet.ecf.toronto.edu> <1991May30.045153.3337@oghma.ocunix.on.ca> Reply-To: rm3@stc06.ctd.ornl.gov (MCBROOM R C) Organization: Oak Ridge National Lab Lines: 38 In article <1991May30.045153.3337@oghma.ocunix.on.ca> rjc@oghma.ocunix.on.ca (Robert J Carter) writes: >In article <1991May29.153829.8742@bullet.ecf.toronto.edu> xiaoy@bullet.ecf (XIAO Yan) writes: ... > >>Along >>the same line, it should also be possible to have cross directory rename >>command (rather than 'copy-delete' scheme which sometimes is hard to do). >>I am no expert in FAT stuff. >> >>Any comment? >> >>Xiao > >Yes, you could do a cross-directory rename, with the caveat that you >could step in much doggie-do if your machine goes down during the >process, although the window would be very small. (I wrote a programme >to do this a couple of years ago - god knows where it is now). >Basically, this is the procedure: > > - Open the source directory > - Open the destination directory > - Read the directory entry for the file to be moved > - Write the *IDENTICAL* information into an empty > directory entry in the destination directory > - Mark the source directory entry as deleted. Please note > that I said MARK - DO NOT use the O/S Delete File system > calls. > - Close the source and destination directories. > >Note: NO mucking about with the FAT is involved! This is a (all things >being relative) simple, 1 to 2 page C programme, using nothing more >than open(), close(), read(), and write() calls. > Lots of the move utilities around do just this. A couple that come to mind are DIRMAGIC that was send out as a subscription enticement by PC-MAG and the move function in Windows. There are lots of others. Robert McBroom internet: rm3@ornl.gov