Login
`
Templates, Tools and Utilities
|
||
Add a comment to an Icetips ArticlePlease add your comments to this article.
Please note that you must provide both a name and a valid email address in order
for us to publish your comment. Comments are moderated and are not visible until they have been approved. Spam is never approved!
Back to article list Search Articles Add Comment Printer friendly Direct link Par2: Copy all files in one directory to another 2002-12-11 -- John Christ > Is there a simple way to copy all the files in one folder to another?
There may be a simpler way, but this works:
GLOBAL embeds, Before File Declarations
SHFileOp LIKE(SHFILEOPgroup)
!
! Shell File Operations
!
FO_MOVE EQUATE(0001h)
FO_COPY EQUATE(0002h)
FO_DELETE EQUATE(0003h)
FO_RENAME EQUATE(0004h)
FOF_MULTIDESTFILES EQUATE(0001h)
FOF_CONFIRMMOUSE EQUATE(0002h)
FOF_SILENT EQUATE(0004h) ! don't create progress/report
FOF_RENAMEONCOLLISION EQUATE(0008h)
FOF_NOCONFIRMATION EQUATE(0010h) ! Don't prompt the user.
FOF_WANTMAPPINGHANDLE EQUATE(0020h) ! Fill in
SHFILEOPSTRUCT.hNameMappings
! Must be freed using
SHFreeNameMappings
FOF_ALLOWUNDO EQUATE(0040h)
FOF_FILESONLY EQUATE(0080h) ! on *.*, do only files
FOF_SIMPLEPROGRESS EQUATE(0100h) ! means don't show names of files
FOF_NOCONFIRMMKDIR EQUATE(0200h) ! don't confirm making any needed
dirs
FOF_NOERRORUI EQUATE(0400h) ! don't put up error UI
FOF_NOCOPYSECURITYATTRIBS EQUATE(0800h) ! dont copy NT file Security
Attributes
FOF_NORECURSION EQUATE(1000h) ! don't recurse into directories.
FOF_NO_CONNECTED_ELEMENTS EQUATE(2000h) ! don't operate on connected
elements.
FOF_WANTNUKEWARNING EQUATE(4000h) ! during delete operation, warn if
nuking instead of recycling (partially overrides FOF_NOCONFIRMATION)
SHFILEOPgroup GROUP, TYPE
hwnd UNSIGNED
wFunc UNSIGNED
pFrom LONG
pTo LONG
fFlags USHORT
fAnyOperationsAborted LONG
hNameMappings LONG
lpszProgressTitle LONG
END
==========
GLOBAL embeds, Inside the Global Map
MODULE('Windows.lib')
SHFileOperation(LONG pSHFILEOPgroup), LONG, PASCAL, RAW, DLL,
NAME('SHFileOperationA')
END
==========
Data
Source CSTRING(256)
Destination CSTRING(256)
==========
Insert this where you want to perform the copy:
Source = 'C:\TheSourceDirectory\*.*' & '<0>'
Destination = 'C:\TheDestinationDirectory'
CLEAR(SHFileOp)
SHFileOp.hWnd = 0{PROP:Handle}
SHFileOp.wFunc = FO_COPY
SHFileOp.pFROM = ADDRESS(Source)
SHFileOp.pTo = ADDRESS(Destination)
SHFileOp.fFlags = FOF_NOCONFIRMATION + FOF_NOCONFIRMMKDIR
I# = SHFileOperation(ADDRESS(SHFileOp))
Today is November 21, 2024, 7:21 am This article has been viewed 35223 times.
|
|