如题

解决方案 »

  1.   

    有查找文件的API,
    HANDLE FindFirstFile(
      LPCTSTR lpFileName,  // pointer to name of file to search for
      LPWIN32_FIND_DATA lpFindFileData 
                           // pointer to returned information
    );
    BOOL FindNextFile(
      HANDLE hFindFile,  // handle to search
      LPWIN32_FIND_DATA lpFindFileData 
                         // pointer to structure for data on found file
    );
      

  2.   

    WIN32_FIND_DATA FileData; 
    HANDLE hSearch; 
    DWORD dwAttrs; 
    char szDirPath[] = "c:\\TEXTRO\\"; 
    char szNewPath[MAX_PATH]; 
    char szHome[MAX_PATH]; 
     
    BOOL fFinished = FALSE; 
     
    // Create a new directory. 
     
    if (!CreateDirectory(szDirPath, NULL)) 

        ErrorHandler("Couldn't create new directory."); 

     
    // Start searching for .TXT files in the current directory. 
     
    hSearch = FindFirstFile("*.txt", &FileData); 
    if (hSearch == INVALID_HANDLE_VALUE) 

        ErrorHandler("No .TXT files found."); 

     
    // Copy each .TXT file to the new directory 
    // and change it to read only, if not already. 
     
    while (!fFinished) 

        lstrcpy(szNewPath, szDirPath); 
        lstrcat(szNewPath, FileData.cFileName); 
        if (CopyFile(FileData.cFileName, szNewPath, FALSE))
        { 
            dwAttrs = GetFileAttributes(FileData.cFileName); 
            if (!(dwAttrs & FILE_ATTRIBUTE_READONLY)) 
            { 
                SetFileAttributes(szNewPath, 
                    dwAttrs | FILE_ATTRIBUTE_READONLY); 
            } 
        } 
        else 
        { 
            ErrorHandler("Couldn't copy file."); 
        } 
     
        if (!FindNextFile(hSearch, &FileData)) 
        {
            if (GetLastError() == ERROR_NO_MORE_FILES) 
            { 
                MessageBox(hwnd, "No more .TXT files.", 
                    "Search completed.", MB_OK); 
                fFinished = TRUE; 
            } 
            else 
            { 
                ErrorHandler("Couldn't find next file."); 
            } 
        }

     
    // Close the search handle. 
     
    if (!FindClose(hSearch)) 

        ErrorHandler("Couldn't close search handle."); 

      

  3.   

    void  WritePath(CString  strDirName,CString  strFileName)    
    {  
             CStdioFile  wfile;  
               wfile.Open(strFileName,CFile::modeCreate  ¦CFile::modeWrite);  
                 
               CFileFind  tempFind;  
               CString    tempFileFind;  
               if  ('\\'==strDirName.GetAt(strDirName.GetLength()-1))  
                           strDirName.TrimLeft('\\');  
           tempFileFind=strDirName+"\\*.*";  
               BOOL  IsFinded=(BOOL)tempFind.FindFile(tempFileFind);  
               while(IsFinded)  
               {  
                           CString    strFoundFileName;  
       
                           IsFinded=(BOOL)tempFind.FindNextFile();              
     
                           if(!tempFind.IsDots())  
                           {              
                                       strFoundFileName=tempFind.GetFileName();  
     
                                       if  (!tempFind.IsDirectory())//去掉文件夹名字  
                                                   wfile.WriteString(strDirName+"\\"+strFoundFileName+"\n");  
                           }  
               }  
               tempFind.Close();  
               wfile.Close();  
    }