當前位置:首頁 » 文件管理 » 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#

熱點內容
安卓壓縮包圖片怎麼保存到手機 發布:2025-09-25 18:52:17 瀏覽:924
怎麼看到自己的wifi密碼 發布:2025-09-25 18:49:50 瀏覽:486
安卓手機哪個軟體下載單機多 發布:2025-09-25 18:36:45 瀏覽:475
解壓的動畫 發布:2025-09-25 18:30:10 瀏覽:856
小米手機無法連接伺服器是什麼原因 發布:2025-09-25 18:14:30 瀏覽:414
linuxgsm 發布:2025-09-25 18:10:06 瀏覽:595
xp不能訪問ip 發布:2025-09-25 17:41:45 瀏覽:530
c語言n的階乘函數 發布:2025-09-25 17:40:56 瀏覽:292
人機對話編程 發布:2025-09-25 16:46:33 瀏覽:190
槍林彈雨腳本 發布:2025-09-25 16:44:51 瀏覽:932