copy file |
Author: |
Message: |
ainain
New Member
Posts: 8
Joined: Jan 2009
|
O.P. copy file
how to copy and overwrite the file?
for example: c:\a.txt copy to c:\b
|
|
05-25-2009 05:20 PM |
|
|
matty
Scripting Guru
Posts: 8336 Reputation: 109
39 / /
Joined: Dec 2002
Status: Away
|
RE: copy file
js code: CopyFile('c:\\test.log', 'c:\\test.txt');
function CopyFile(src, dest) {
Interop.Call('kernel32', 'CopyFileW', src, dest, false);
}
js code: RenameFile('c:\\test.log', 'c:\\test.txt');
function RenameFile(src, dest) {
Interop.Call('kernel32', 'MoveFileW', src, dest);
}
This post was edited on 06-09-2009 at 08:09 PM by matty.
|
|
05-25-2009 05:36 PM |
|
|
ainain
New Member
Posts: 8
Joined: Jan 2009
|
O.P. RE: copy file
thanks a lot, how about "rename"?
|
|
05-30-2009 03:38 PM |
|
|
Mnjul
forum super mod
plz wub me
Posts: 5396 Reputation: 58
– / /
Joined: Nov 2002
Status: Away
|
RE: copy file
Just replace "CopyFileW" with "MoveFileW"
|
|
05-30-2009 03:49 PM |
|
|
wincy
Junior Member
Posts: 67 Reputation: 4
35 / /
Joined: Feb 2008
|
RE: copy file
Here's my code:
CopyFile('c:\\boh.txt', 'c:\\bah.gif');
function CopyFile(src, dest) {
Interop.Call('user32', 'CopyFileW', src, dest, false);
}
Debugger shows this error:
CallDll has failed collocation of the function "CopyFileW"
(in row containing "Interop.Call..ecc")
What's the problem?
// EDIT: I see that works using "kernel32" instead of "user32"...
This post was edited on 05-30-2009 at 10:41 PM by wincy.
|
|
05-30-2009 10:29 PM |
|
|
whiz
Senior Member
Posts: 568 Reputation: 8
– / – /
Joined: Nov 2008
|
RE: copy file
I'd like to ask a related question. How can you delete a file? And does it work with folders?
|
|
07-14-2009 01:10 PM |
|
|
NanaFreak
Scripting Contest Winner
Posts: 1476 Reputation: 53
32 / /
Joined: Jul 2006
|
RE: copy file
http://www.pinvoke.net/ that site should help you with your kernel32 and user32 stuff though you may have to get someone to help translate it from vb or C into the JScript version for plus...
This post was edited on 07-14-2009 at 01:17 PM by NanaFreak.
|
|
07-14-2009 01:15 PM |
|
|
matty
Scripting Guru
Posts: 8336 Reputation: 109
39 / /
Joined: Dec 2002
Status: Away
|
RE: copy file
quote: Originally posted by whiz
I'd like to ask a related question. How can you delete a file? And does it work with folders?
No offence but you should start trying the easy stuff yourself first then post if you cannot get it to work...
js code: function DeleteFile(lpstrFile) {
return Interop.Call('kernel32', 'DeleteFileW', lpstrFile) !== 0;
}
To remove a directory:
js code: /* do not include trailing slashes, pass the path as c:\\test */
function RemoveDirectory(sPath) {
var WIN32_FIND_DATA = Interop.Allocate(592);
var hSearch = Interop.Call('kernel32', 'FindFirstFileW', sPath+'\\*.*', WIN32_FIND_DATA);
var hResult;
while(hResult != 0){
if(!(WIN32_FIND_DATA.ReadDWORD(0) & 0x10 /* FILE_ATTRIBUTE_DIRECTORY */)){
Interop.Call('kernel32', 'DeleteFileW', sPath+'\\'+WIN32_FIND_DATA.ReadString(44));
} else {
RemoveDirectory(sPath+WIN32_FIND_DATA.ReadString(44));
Interop.Call('kernel32', 'RemoveDirectoryW', '\\\\?\\'+sPath+'\\'+WIN32_FIND_DATA.ReadString(44));
}
hResult = Interop.Call('kernel32', 'FindNextFileW', hSearch, WIN32_FIND_DATA)
}
Interop.Call('kernel32', 'FindClose', hSearch);
}
This post was edited on 07-14-2009 at 02:55 PM by matty.
|
|
07-14-2009 01:51 PM |
|
|
whiz
Senior Member
Posts: 568 Reputation: 8
– / – /
Joined: Nov 2008
|
RE: RE: copy file
quote: Originally posted by matty
js code: function DeleteFile(lpstrFile) {
return Interop.Call('user32', 'DeleteFileW', lpstrFile) !== 0;
}
To remove a directory:
js code: function RemoveDirectory(sPath) {
var WIN32_FIND_DATA = Interop.Allocate(592);
var hSearch = Interop.Call('kernel32', 'FindFirstFileW', sPath+'\\*.*', WIN32_FIND_DATA);
var hResult;
while(hResult != 0){
if(!(WIN32_FIND_DATA.ReadDWORD(0) & 0x10 /* FILE_ATTRIBUTE_DIRECTORY */)){
DeleteFile(sPath+WIN32_FIND_DATA.ReadString(44));
} else {
RemoveDirectory(sPath+WIN32_FIND_DATA.ReadString(44));
Interop.Call('kernel32', 'RemoveDirectoryW', '\\\\?\\'+sPath+WIN32_FIND_DATA.ReadString(44));
}
hResult = Interop.Call('kernel32', 'FindNextFileW', hSearch, WIN32_FIND_DATA)
}
Interop.Call('kernel32', 'FindClose', hSearch);
}
quote: Originally posted by JavaScript Debugger
Error: unknown (code: -2147467259)
js code: /* error: */ return Interop.Call('user32', 'DeleteFileW', lpstrFile) !== 0;
|
|
07-14-2009 02:22 PM |
|
|
matty
Scripting Guru
Posts: 8336 Reputation: 109
39 / /
Joined: Dec 2002
Status: Away
|
RE: copy file
Made a mistake should be kernel32 not user32.
|
|
07-14-2009 02:29 PM |
|
|
Pages: (3):
« First
[ 1 ]
2
3
»
Last »
|
|