14.10.2009, 14:22 | #1 |
Участник
|
Cкопировать папку полностью
Задача скопировать папку полностью, со всеми под папками и файлами.
Уткнулся в определение файл это или папка?! Что то в WinApi не нашел таких функций, поиск по форум ничего не дал..
__________________
PS. Сложно приехать в Москву, но ещё сложнее уехать отсюда. |
|
14.10.2009, 14:32 | #2 |
Moderator
|
А если просто командником c xcopy ?
X++: static void Job217(Args _args) { ; WinAPI::shellExecute('cmd', @'/c xcopy C:\temp C:\NotExistingYetFolder\ /E'); } Последний раз редактировалось Gustav; 14.10.2009 в 14:48. |
|
14.10.2009, 14:48 | #3 |
Участник
|
Не пойдёт.. Там нужно кое какие изменения вносить в файлы..
__________________
PS. Сложно приехать в Москву, но ещё сложнее уехать отсюда. |
|
14.10.2009, 14:53 | #4 |
Участник
|
Версия Axapta какая. Если 4.0, то советую посмотреть в сторону .NET пространство имен System.IO
|
|
14.10.2009, 14:57 | #5 |
Участник
|
3.0 SP 5
__________________
PS. Сложно приехать в Москву, но ещё сложнее уехать отсюда. |
|
14.10.2009, 14:58 | #6 |
Moderator
|
Может это подойдёт?
Dynamics AX Geek: Finding files with WinAPI |
|
|
За это сообщение автора поблагодарили: 3oppo (1). |
14.10.2009, 15:13 | #7 |
Участник
|
Догнал..
X++: WinApi::pathExists(_sPath) Всем спасибо!
__________________
PS. Сложно приехать в Москву, но ещё сложнее уехать отсюда. Последний раз редактировалось 3oppo; 14.10.2009 в 15:20. |
|
14.10.2009, 15:13 | #8 |
Участник
|
Посмотрите класс SysFileDeployment метод copy.
|
|
14.10.2009, 15:48 | #9 |
Участник
|
Вот что получилось:
X++: static boolean copyDir(str _sDirFrom, str _sDirTo, boolean _bAllIncluded = true, str _sFilter = '*.*') { str sSeekPath , sS; container con; int handl; int iE; FileName FileName; ; if (!WinApi::folderExists( _sDirFrom )) { info (strfmt ('Директория %1 не существует', _sDirFrom)); return false; } //fileCreateAllDir(_sDirTo); sSeekPath += _sDirFrom + '\\' + _sFilter; [handl, FileName] = WinApi::findFirstFile( sSeekPath ); while (FileName) { if ( FileName == '.' || FileName == '..') { FileName = winapi::findNextFile(handl); continue; } if(_bAllIncluded && WinApi::pathExists(_sDirFrom + '\\' + FileName ) ) // this is folder { Glob::copyDir(_sDirFrom + '\\' + FileName, _sDirTo + '\\' + FileName, _bAllIncluded, _sFilter); // call itself } iE = WinApi::copyFile( _sDirFrom + '\\' + FileName, _sDirTo + '\\' + FileName); // iE error processing if need FileName= winapi::findNextFile(handl); } return false; }
__________________
PS. Сложно приехать в Москву, но ещё сложнее уехать отсюда. Последний раз редактировалось 3oppo; 14.10.2009 в 15:59. |
|
|
За это сообщение автора поблагодарили: AlGol (1). |
14.10.2009, 16:01 | #10 |
Moderator
|
|
|
Теги |
winapi, копирование, папка, файл |
|
Похожие темы | ||||
Тема | Ответов | |||
ax2009 demo vpc: полностью настроенная виртуальная машина со средствами разработки | 76 | |||
Поле видно не полностью | 6 | |||
про Dialog | 52 | |||
Прием полностью с амортизированного ОС | 9 |
|