#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#include<io.h>
void DeleteFile(char *pcFileName, char* acContent);
int main(void)
{
_finddata_t file;
long lf;
char acFileName[260];
FILE *pMapFile = NULL;
char acContent[1024000];
memset(acContent, 0, 1024000);
pMapFile = fopen("reference.ditamap", "r");
if (NULL == pMapFile)
{
printf("reference.ditamap open fail!\n");
}
int iRet = fread(acContent,1,1024000, pMapFile);
if (0 == iRet)
{
printf("fread err\n");
}
//输入文件夹路径 d:\\OSG\\Data\\*.*
//lf = _findfirst("D:\\PLT-1.1-mml-help\\MML-help-new-svn\\ForHelpXml\\00-chinese\\lte\\复件 mml\\*.*", &file);
lf = _findfirst("*.*", &file);
if(-1 == lf)
{
printf("Not Found!\n");
}
else
{
//输出文件名
while(0 == _findnext( lf, &file))
{
DeleteFile(file.name, acContent);
}
}
_findclose(lf);
fclose(pMapFile);
return 0;
}
void DeleteFile(char *pcFileName, char* acContent)
{
char* pLocate = NULL;
int iEql = -1;
char *psNotDelFile[] ={"..", ".svn" ,"Debug", "main.cpp", "reference.ditamap" ,
"test3.vcproj...user", "test3.vcproj",};
int iFileNum = sizeof(psNotDelFile)/sizeof(psNotDelFile[0]);
for (int iLp=0; iLp<iFileNum; iLp++)
{
iEql = strcmp(psNotDelFile[iLp], pcFileName);
if (0 == iEql)
{
return ;
}
}
pLocate = strstr(acContent, pcFileName);
if (!pLocate)
{//没找到该文件
printf("%s\n",pcFileName);
int iRet = remove(pcFileName);
if (iRet)
{
printf("Delete fail\n");
}
else
{
printf("Delete succes\n");
}
}
}