Hi all,
I have a 'master_folder' folder. In this folder has 8 sub-folders.
My question: How to use the X++ to copy these sub-folders from 'master_folder' to another folder?
Thanks.
*This post is locked for comments
Hi,
As far I know, you need to create sub-folder structure into another folder (into destination folder) and then copy the sub-folder files accordingly.
hello Simon,
Just check the WinAPI class in x++, you may find the relevant methods to perform this operation.
Please refer this link dynamicsaxhari.blogspot.in/.../copy-sub-folder-and-files-by-using-x.html
It may help you.
Hi Simon,
Just try this code. it will give you the folder name with sub folders. and then use WINAPI for copying the same.
static void Johnkrish_FolderFind(Args _args){ int k; // counter for result loop container dirs; // container for result filePath path = @"E:\JohnkrishFolder"; // input path
container getDirectories(str _dir, boolean _inclSubDirs = true) { container dList; // container to cast array into int i; // counter for array loop System.Array directories; // array for result from .NET call #Define.Pattern("*") // input pattern: * = all ;
// assert interoppermissions for .NET interop new InteropPermission(InteropKind::ClrInterop).assert();
// get directories using .NET interop if(_inclSubDirs) { // include subdirectories directories = System.IO.Directory::GetDirectories(_dir, #Pattern, System.IO.SearchOption::AllDirectories); } else { // only top directory directories = System.IO.Directory::GetDirectories(_dir, #Pattern, System.IO.SearchOption::TopDirectoryOnly); }
// loog .NET array and put the values in a container for easier use in x++ for( i=0;i<ClrInterop::getAnyTypeForObject(directories.get_Length()); i++ ) { dList = conins(dList, conlen(dList)+1, ClrInterop::getAnyTypeForObject(directories.GetValue(i))); }
// revert assertion to prevent multiple calls to the assert() method CodeAccessPermission::revertAssert();
// return result container return dList; } ;
// get directories dirs = getDirectories(path);
// use optional parameter to disable sub directories // dirs = getDirectories(path, false);
// print the result for(k=1;k<= conlen(dirs); k++) { // print the result to screen info(conpeek(dirs, k)); }
// we're done info("Completed");
}
Hi Anil,
WinAPI no copy folders, it has copy file.
Thanks. It works.
Please mark the reply as verified and close.
Under review
Thank you for your reply! To ensure a great experience for everyone, your content is awaiting approval by our Community Managers. Please check back later.
As AI tools become more common, we’re introducing a Responsible AI Use…
We are honored to recognize Pallavi Phade as our Community Spotlight honoree for…
These are the community rock stars!
Stay up to date on forum activity by subscribing.
Martin Tocauer 4
Alexey Lekanov 3
Community Member 2