#define SEARCHFILETYPE "*.*"
#define SYSCONFIG "config.ini"
int g_FileSize = 100;
int getFileSize(string &sFileName)
{
struct stat buf;
int iRet = stat(sFileName.c_str(), &buf);
if (iRet == -1)
return NULL;
return buf.st_size;
}
void getAllFileName(const string& directory, const string& extName){
_finddata_t fileInfo;
intptr_t hFile;
string filter = directory;
if(filter[filter.size()-1] != ‘//‘){
filter.push_back(‘//‘);
}
filter += "*.";
filter += extName;
hFile = _findfirst(filter.c_str(),&fileInfo);
if(hFile == -1){
return;
}
do {
string name(fileInfo.name);
string filePath = directory +"\\"+ name;
//cout<<"file :"<<name<<endl;
//cout<<"filePath :"<<filePath<<endl;
int FileMaxSize=1024*1024*g_FileSize;//10M
int fSize=getFileSize(filePath);
//cout<<"fSize :"<<fSize<<endl;
if (fSize>FileMaxSize) //如果文件大小超过了10M,需要备份
{
cout<<"filePath :"<<filePath<<endl;
system("taskkill /f /im XXX.exe");
}
} while (_findnext(hFile,&fileInfo) == 0);
_findclose(hFile);
}
int _tmain(int argc, _TCHAR* argv[])
{
char buf[1000]="";
GetCurrentDirectory(1000,buf); //得到当前工作路径
char path[1024];
sprintf(path,"%s\\%s",buf,SYSCONFIG);
char dir[256];
GetPrivateProfileString(_T("config"), _T("TempPath"),_T(""), dir, 256, _T(path));
int sleeptime = GetPrivateProfileInt(_T("config"), _T("Sleep"),10000, _T(path));
g_FileSize = GetPrivateProfileInt(_T("config"), _T("FileMaxSize"),100, _T(path));
cout<<"TempPath :"<<dir<<endl;
cout<<"sleeptime :"<<sleeptime<<endl;
cout<<"FileMaxSize :"<<g_FileSize<<endl;
while(1)
{
getAllFileName(dir,SEARCHFILETYPE);
Sleep(sleeptime);
}
getchar();
return 0;
}根据文件夹大小停止某进程,布布扣,bubuko.com
根据文件夹大小停止某进程
原文:http://blog.csdn.net/loveheronly/article/details/22894593