|
|
|
|
#1 |
|
Участник
|
Цитата:
А DEL позволяет использовать wildcards. |
|
|
|
|
#2 |
|
Участник
|
Цитата:
![]() X++: // Удаление файлов по маске static void test_FileSystemObject(Args _args) { COM comFSO = new COM("Scripting.FileSystemObject"); Filename filename = "C:\\Новая папка\\*.txt"; ; // Удалаяет все файлы по маске, даже если они помечены как Read-Only comFSO.DeleteFile(filename); } X++: // Удаление директорий со всем содержимым static void test_FileSystemObject(Args _args) { COM comFSO = new COM("Scripting.FileSystemObject"); Com comFolder; FileFolder_RU fileFolder_RU = "C:\\Новая папка"; ; print "До удаления ", comFSO.FolderExists(fileFolder_RU); if (comFSO.FolderExists(fileFolder_RU)) { comFolder = comFSO.GetFolder(fileFolder_RU); comFolder.delete(true); // true - удалить, даже если каталог Read-Only } print "После удаления ", comFSO.FolderExists(fileFolder_RU); pause; } |
|
|
|
| За это сообщение автора поблагодарили: kashperuk (5), Alenka (1). | |
|
|
#3 |
|
Участник
|
Ну и при чем тут экзотика?
Просто через Win32 API это все реализовать более муторно, поэтому COM напрашивается сам собой. К слову, удалять директории можно и без промежуточных объектовX++: COM comFSO = new COM("Scripting.FileSystemObject"); FileFolder_RU fileFolder_RU = "C:\\Новая папка"; ; if (comFSO.FolderExists(fileFolder_RU)) comFSO.DeleteFolder(fileFolder_RU, true); // true - удалить, даже если каталог Read-Only |
|
|
|
|
#4 |
|
Участник
|
Попробуйте так
X++: filename path;
filename fileName;
filename fileExt;
int nHandle;
container c;
;
......
......
fileExt = "*.txt";
c = WinApi::findFirstFile(path + fileExt);
nHandle = conpeek(c, 1);
fileName = conpeek(c, 2);
while (strLen(fileName))
{
WinApi::deleteFile(path + "\\" + fileName);
fileName = WinApi::findNextFile(nHandle);
}
...Параметры для нее в макросе Winapi Последний раз редактировалось nano3; 20.12.2007 в 12:39. |
|
|