in reply to Re^3: Moving directories on Win32
in thread Moving directories on Win32

The most common case (for me, at least) is an application has the directory as its current directory.

The second most common case (for me, at least) is Explorer* keeping a handle to the directory open for no apparent reason. Nothing short of restarting Explorer (which means rebooting) or messing with its internals using Process Explorer will close the handle as far as I know.

* — Explorer is the program that provides Folder windows, Windows Explorer windows, My Computer windows, the Destkop, the Taskbar and more) holding

Replies are listed 'Best First'.
Re^5: Moving directories on Win32
by aplonis (Pilgrim) on Nov 28, 2007 at 23:56 UTC

    Mostly, but not completely, there.

    I had a couple of DIRREAD's nested three and four subroutines up the chain. I relocated the MOVE to be outside the last CLOSE by appending strings for the paths of the dirs to be moved into an array which is outside all of those subroutines.

    After doing that, now the MOVE mostly works. It works for all but the last directory. The move on the last-in-list directory name fails no matter which directory that is. I even relocated the MOVE to be fully outside the outermost subroutine, the one with the final CLOSE and it still doesn't move.

    Is there something I need to know about DIRREAD to deal with this?

      Code? Preferably something we can run.
        I'll have to mock something up to post. The program itself is over 2600 lines.
      Your pardon, sirs, that is READDIR not DIRREAD, but you knew that (and so did I). Alas.