/*删除目录下的所有文件*/
FRESULT delete_files (
char* path /* Start node to be scanned (***also used as work area***) */
)
{
FRESULT res;
DIR dir;
UINT i;
static FILINFO fno;
res = f_opendir(&dir, path); /* Open the directory */
if (res == FR_OK) {
for (;;) {
res = f_readdir(&dir, &fno); /* Read a directory item */
if (res != FR_OK || fno.fname[0] == 0) break; /* Break on error or end of dir */
if (fno.fattrib & AM_DIR) { /* It is a directory */
i = strlen(path);
sprintf(&path[i], "/%s", fno.fname);
res = delete_files(path); /* Enter the directory */
if (res != FR_OK) break;
path[i] = 0;
} else { /* It is a file. */
printf("%s/%s \r\n", path, fno.fname);
sprintf(FilePath,"%s%s",path, fno.fname);
if(f_unlink(FilePath) == FR_OK)
printf("succeed to delete file %s ! \r\n",FilePath);/*删除文件*/
}
}
f_closedir(&dir);
}
return res;
}
int main()
{
buff = (char *)mymalloc(SRAMIN,256);
if(buff == NULL){printf("Fail to malloc! \r\n");}
else{
strcpy(buff, "0:");
delete_files(buff);
}
myfree(SRAMIN,buff);
}