文件夹操作

//下面函数可以,为方便,使用MFC中的CString可根据情况修改 

BOOL   ReplaceSameFile(CString   sDir,//要查找的目录   
  CString   sReplaceFile,   //要被替换的文件,只是文件名 
  CString   sNewFile//替换的文件,用全路径 


if(sDir.IsEmpty()   ||   sReplaceFile.IsEmpty()   ||   sNewFile.IsEmpty()) 
return   FALSE; 

WIN32_FIND_DATA   ws_data; 
memset(&ws_data,   0,   sizeof(WIN32_FIND_DATA)); 
HANDLE   handle; 
CString   dir   =   sDir   +   "\\* "; 
CString   cur; 
handle   =   FindFirstFile(dir,   &ws_data); 
if(handle   ==   INVALID_HANDLE_VALUE) 
return   FALSE; 

while(FindNextFile(handle,   &ws_data)) 

if(ws_data.dwFileAttributes   &   FILE_ATTRIBUTE_DIRECTORY) 
//是目录,用递归替换下一级目录中的文件 

if(ws_data.cFileName[0]   !=   '. ')//不是.或.. 

cur   =   sDir   +   "\\ "   +   ws_data.cFileName; 
ReplaceSameFile(cur,   sReplaceFile,   sNewFile); 

}   
else   if(sReplaceFile   ==   ws_data.cFileName)//是要被替换的文件   


cur   =   sDir   +   "\\ "   +   ws_data.cFileName; 
//替换,   
CopyFile(cur,   sNewFile,   FALSE); 


FindClose(handle); 
return   TRUE; 



--------- 
    ++C++ 
--------- 

posted on 2012-09-12 18:05  小水人  阅读(110)  评论(0编辑  收藏  举报