文件夹操作
//下面函數可以,為方便,使用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++?
---------?
轉載于:https://www.cnblogs.com/shuiren/archive/2012/09/12/2682200.html
總結
- 上一篇: 关于extjs中动态添加TabPanel
- 下一篇: TrackViewState到底是干什么