當前位置:首頁 » 文件管理 » c遞歸遍歷文件夾

c遞歸遍歷文件夾

發布時間: 2025-09-25 16:04:16

『壹』 MFC中遍歷當前目錄下的文件和文件夾,然後將所有找到的文件夾的名字提取出來

把以下代碼放到Win32控制台運行,親測可用:

#include <windows.h>
#define FILEILTER "*.*" //查找條件,例如查找.exe格式的那麼就用*.exe,當然也可以直接用setup.exe
#include "iostream.h"
#include "stdio.h"

BOOL IsRoot(LPCTSTR lpszPath)
{
TCHAR szRoot[4];
wsprintf(szRoot, "%c:\\", lpszPath[0]);
return (lstrcmp(szRoot, lpszPath) == 0);
}

void FindInAll(LPCTSTR lpszPath)
{
TCHAR szFind[MAX_PATH];
lstrcpy(szFind, lpszPath);
if (!IsRoot(szFind))
lstrcat(szFind, "\\");
lstrcat(szFind, FILEILTER); // 找所有文件
WIN32_FIND_DATA wfd;
HANDLE hFind = FindFirstFile(szFind, &wfd);
if (hFind == INVALID_HANDLE_VALUE) // 如果沒有找到或查找失敗
return;

do
{
if (wfd.cFileName[0] == '.')
continue; // 過濾這兩個目錄
if (wfd.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY)
{
TCHAR szFile[MAX_PATH];
if (IsRoot(lpszPath))
wsprintf(szFile, "%s%s", lpszPath, wfd.cFileName);
else
{
wsprintf(szFile, "%s\\%s", lpszPath, wfd.cFileName);
FindInAll(szFile); // 如果找到的是目錄,則進入此目錄進行遞歸
}
}
else
{
TCHAR szFile[MAX_PATH];
if (IsRoot(lpszPath))
{
wsprintf(szFile, "%s%s", lpszPath, wfd.cFileName);
}
else
{
wsprintf(szFile, "%s\\%s", lpszPath, wfd.cFileName);
printf("%s\n",szFile);
}
// 對文件進行操作
}
} while (FindNextFile(hFind, &wfd));
FindClose(hFind); // 關閉查找句柄

}
int main(int argc, char* argv[])
{
FindInAll("E:"); //這里設置目錄為E:,請根據需要更改
return 0;
}

『貳』 C# 遍歷文件夾下所有子文件夾中的文件,得到文件名

輸入某文件夾路徑,遍歷該文件夾及其子文件夾(包括子文件夾的子文件夾等),獲取其中所有文件的函數:

/// <summary>

/// 查找指定文件夾下指定後綴名的文件

/// </summary>

/// <param name="directory">文件夾</param>

/// <param name="pattern">後綴名</param>

/// <returns>文件路徑</returns>

public void GetFiles(DirectoryInfo directory, string pattern, ref List<string> fileList)

foreach (FileInfo info in directory.GetFiles(pattern))

catch (System.Exception ex)

foreach (DirectoryInfo info in directory.GetDirectories())//獲取文件夾下的子文件夾

語言結構

類:一個基本的C#類中包含數據成員、屬性、構造器和方法。屬性可以是靜態或實例成員。在C#中類的聲明與C++和Java很相似。但是,不像C++,C#結構體與類是不支持繼承多個父類。但是,與Java相同的是,一個結構體可以實現介面(interface)。Java的關鍵字import已經被替換成using,它起到了同樣的作用。

以上內容參考:網路-c#

熱點內容
java返回this 發布:2025-10-20 08:28:16 瀏覽:716
製作腳本網站 發布:2025-10-20 08:17:34 瀏覽:982
python中的init方法 發布:2025-10-20 08:17:33 瀏覽:690
圖案密碼什麼意思 發布:2025-10-20 08:16:56 瀏覽:843
怎麼清理微信視頻緩存 發布:2025-10-20 08:12:37 瀏覽:749
c語言編譯器怎麼看執行過程 發布:2025-10-20 08:00:32 瀏覽:1089
郵箱如何填寫發信伺服器 發布:2025-10-20 07:45:27 瀏覽:317
shell腳本入門案例 發布:2025-10-20 07:44:45 瀏覽:195
怎麼上傳照片瀏覽上傳 發布:2025-10-20 07:44:03 瀏覽:885
python股票數據獲取 發布:2025-10-20 07:39:44 瀏覽:843