What happened to the Messenger Plus! forums on msghelp.net?
Shoutbox » MsgHelp Archive » Messenger Plus! for Live Messenger » Scripting » copy file

copy file
Author: Message:
matty
Scripting Guru
*****


Posts: 8336
Reputation: 109
39 / Male / Flag
Joined: Dec 2002
Status: Away
RE: copy file
I did a little testing and noticed a few things.

- Firstly FindFirstFileW and FindNextFileW will find . and .. as well
- I forgot to append the path with slashes

js code:
RemoveDirectory('C:\\Documents and Settings\\__________\\My Documents\\New Folder', true);

function RemoveDirectory(sPath, bFirstFolder) {
    sPath='\\\\?\\'+sPath;
    var WIN32_FIND_DATA = Interop.Allocate(592);
    var hSearch = Interop.Call('kernel32', 'FindFirstFileW', sPath+'\\*', WIN32_FIND_DATA);
    var hResult = -1;
    var sFile;
    while(hResult != 0){
        sFile = WIN32_FIND_DATA.ReadString(44);
        if (sFile !== '.' && sFile !== '..') {
            if(!(WIN32_FIND_DATA.ReadDWORD(0) & 0x10 /* FILE_ATTRIBUTE_DIRECTORY */)){
                Debug.Trace(sPath+sFile);
                Interop.Call('kernel32', 'DeleteFileW', sPath+'\\'+sFile);
            } else {
                Debug.Trace(sPath+sFile);
                RemoveDirectory(sPath+'\\'+sFile false);
                if ( Interop.Call('kernel32', 'RemoveDirectoryW', sPath+'\\'+sFile) === 0 ) TraceWin32Error()
            }
        }
        hResult = Interop.Call('kernel32', 'FindNextFileW', hSearch, WIN32_FIND_DATA)
    }
    Interop.Call('kernel32', 'FindClose', hSearch);
    if (bFirstFolder === true) Interop.Call('kernel32', 'RemoveDirectoryW', sPath)
}

function TraceWin32Error(){
    var LastError = Interop.GetLastError();
    if(LastError != 0) {
        var MsgBuffer = Interop.Allocate(1024);
        Interop.Call("Kernel32", "FormatMessageW", 0x1000, 0, LastError, 0, MsgBuffer, 1024, 0);
        Debug.Trace(MsgBuffer.ReadString(0));
    }
}

No idea if this will work I would have to do a bit more troubleshooting as to why it doesn't.

This post was edited on 07-15-2009 at 12:48 PM by matty.
07-15-2009 12:43 PM
Profile E-Mail PM Find Quote Report
« Next Oldest Return to Top Next Newest »

Messages In This Thread
copy file - by ainain on 05-25-2009 at 05:20 PM
RE: copy file - by matty on 05-25-2009 at 05:36 PM
RE: copy file - by ainain on 05-30-2009 at 03:38 PM
RE: copy file - by Mnjul on 05-30-2009 at 03:49 PM
RE: copy file - by wincy on 05-30-2009 at 10:29 PM
RE: copy file - by whiz on 07-14-2009 at 01:10 PM
RE: copy file - by NanaFreak on 07-14-2009 at 01:15 PM
RE: copy file - by matty on 07-14-2009 at 01:51 PM
RE: RE: copy file - by whiz on 07-14-2009 at 02:22 PM
RE: copy file - by matty on 07-14-2009 at 02:29 PM
RE: copy file - by whiz on 07-14-2009 at 02:51 PM
RE: copy file - by matty on 07-14-2009 at 02:53 PM
RE: copy file - by whiz on 07-14-2009 at 02:58 PM
RE: copy file - by matty on 07-14-2009 at 03:03 PM
RE: copy file - by whiz on 07-14-2009 at 03:19 PM
RE: copy file - by matty on 07-14-2009 at 03:27 PM
RE: copy file - by whiz on 07-14-2009 at 03:33 PM
RE: copy file - by matty on 07-14-2009 at 06:17 PM
RE: copy file - by whiz on 07-14-2009 at 07:24 PM
RE: copy file - by matty on 07-15-2009 at 12:43 PM
RE: RE: copy file - by whiz on 07-15-2009 at 06:31 PM
RE: copy file - by matty on 07-15-2009 at 07:57 PM
RE: copy file - by whiz on 07-15-2009 at 08:14 PM
RE: copy file - by CookieRevised on 07-15-2009 at 11:23 PM


Threaded Mode | Linear Mode
View a Printable Version
Send this Thread to a Friend
Subscribe | Add to Favorites
Rate This Thread:

Forum Jump:

Forum Rules:
You cannot post new threads
You cannot post replies
You cannot post attachments
You can edit your posts
HTML is Off
myCode is On
Smilies are On
[img] Code is On