當前位置:首頁 » 文件管理 » c循環文件夾

c循環文件夾

發布時間: 2023-01-06 09:48:12

Ⅰ C盤里有個文件夾像死循環一樣,如C:\0酷狗手機助手\新建文件夾\0酷狗手機助手\新建文件夾就像這樣沒完沒了

估計是有一個程序在一直監控,如果監控到被刪除了就創建。這個流氓手段很可恨啊。

Ⅱ 請我如何c語言遍歷文件夾

#include <windows.h>

/************************************************/
*參數說明:
char *pszDestPath為需要遍歷的目標路徑
/************************************************/

EnmuDirectory(char *pszDestPath)
{
//此結構說明參MSDN
WIN32_FIND_DATA FindFileData;
//查找文件的句柄
HANDLE hListFile;
//絕對路徑,例:c:\windows\system32\cmd.exe
char szFullPath[MAX_PATH];
//相對路徑
char szFilePath[MAX_PATH];
//構造相對路徑
wsprintf(szFilePath, "%s\\*", pszDestPath);
//查找第一個文件,獲得查找句柄,如果FindFirstFile返回INVALID_HANDLE_VALUE則返回
if((hListFile = FindFirstFile(szFilePath, &FindFileData)) == INVALID_HANDLE_VALUE)
{
//查找文件錯誤
return 1;
}
else
{
do
{
//過濾.和..
//「.」代表本級目錄「..」代表父級目錄
if( lstrcmp(FindFileData.cFileName, TEXT(".")) == 0 ||
lstrcmp(FindFileData.cFileName, TEXT("..")) == 0 )
{
continue;
}
//構造全路徑
wsprintf(szFullPath, "%s\\%s", pszDestPath, FindFileData.cFileName);
//讀取文件屬性,如果不是文件夾
if(!(FindFileData.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY))
{
//這里你可以自己添加分析是某種類型文件的代碼。可以根據
//擴展名分析。

//這里有個實例,你可以看看

//有必要初始化一下
char *pszFileType = NULL;
//把pszFileType指向cFileName的倒數第三個數符。因為一般擴展名長為3個字元。
//當然,你也可以用其它方法分析擴展名。或倒序查「.」
pszFileType = &(FindFileData.cFileName[strlen(FindFileData.cFileName) - 3]);
//如果是jpg結尾的文件
if(!stricmp(pszFileType, "jpg"))
{
FILE *fp;
//或許這里打開C:\\data.txt不應該用"w+",你可試著來
fp = fopen("c:\\data.txt", "w+");
if(fp) fputs(szFullPath, fp);
fclose(fp);
}

}

//如果是文件夾,則遞歸調用EnmuDirectory函數
if(FindFileData.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY)
{
EnmuDirectory(szFullPath);
}
//循環,查找下一個文件
}while(FindNextFile(hListFile, &FindFileData));
}
//關閉句柄
FindClose(hListFile);
//清空結構。可有可無的一句代碼。函數退出會自動清空。
ZeroMemory(&FindFileData, sizeof(FindFileData));
return 0;
}

這是windows api版的,還有MFC版的和C版的。要的話來找我Q:503267714

Ⅲ 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#

Ⅳ C語言 怎麼使用一個循環能夠將一個文件夾中的文件(二進制文件)逐個打開(可以對其進行修改)

這個需要使用 Win32 API 函數
FindFirstFile( ) 函數可以查找到一個文件
FindNextFile( ) 可以打開下一個文件
循環調用 FindNextFile( ) 可以遍歷枚舉目錄裡面的所有文件,包括目錄

Ⅳ C盤出現....文件夾,進去以後是無限循環的C盤目錄,不知道能不能刪除這是什麼情況。刪除就沒事了么

是快捷方式 吧,而且此快捷方式指定的位置是C盤。所以你點到C盤又看到它,再點再循環。 你在C盤中選擇查看方式為詳細,可以知道它是什麼類型的。如果是LINK類型的文件,直接刪掉就可以了。

Ⅵ 求c語言高手解答:利用if或者do。。while循環,創建5個文件夾,文件名為1.dat 2.dat 3.dat 4.dat 5.dat。

#include <direct.h>
#include <string.h>
#include <stdio.h>

int main()
{
char s[100];
int i;
for(i=1;i<=5;i++)
{
sprintf(s,"D:\\%d.dat",i);
if(_mkdir(s)==0)
printf("Create directory Success\n");
else
printf("Problem creating directory\n");
}
}

Ⅶ C/C++編程遍歷文件夾,統計當前文件個數,輸出文件名

這個要正對不同的操作系統,不同的操作系統,文件節點的存放方式不一樣,讀取的方式就不一樣了。
可以利用for循環,像Linux
dir=opendir
(dirname)打開文件夾,返回目錄指針,dp=readdir(dir)利用讀目錄,返回一行行讀取目錄的文件結構體指針,指針中存的有文件屬性,是文件,還是文件夾。
通過判斷是文件或者文件夾:
如果是文件,就就輸出文件名dp->name
否則,就是一個文件夾
繼續dir1=opendir(dp->name),dp1=readdir(dir1)..
一直循環到判斷不到目錄了。
windows應該也有類似的函數吧,這個我就么有用過了,你找找。

Ⅷ 在windows下 怎麼用c語言遍歷文件夾要用純c的

什麼叫純C?
用C語言遍歷文件肯定需要用到函數,標准C下貌似沒有這個函數,但是使用VC的函數庫可能可以實現,如果實在不行可以用第三方函數庫,,,還不行的話用system("command");引用dos命令可以遍歷,

Ⅸ 在一個目錄下循環新建一個開不完的文件夾,用批處理,c語言也可

批處理簡單3句就可以搞定.
md a
cd a
%0

放到D盤根目錄下運行,具體創建了多少層的文件夾,你自己運行後再數吧,哈...

PS:windows的文件夾層數是有限制的,好像是不高於200吧,所以運行到最後會出錯,提示找不到路徑了.(但沒關系,已經創建了很多層了)

Ⅹ C語言:如何遍歷指定的文件夾(可以包括子文件夾)中的每一個文件名

Function SearchFiles(Path As String, FileType As String)
Dim Files() As String '文件路徑
Dim Folder() As String '文件夾路徑
Dim a, b, c As Long
Dim sPath As String

sPath = Dir(Path & FileType) '查找第一個文件

Do While Len(sPath) '循環到沒有文件為止
a = a + 1
ReDim Preserve Files(1 To a)
Files(a) = Path & sPath '將文件目錄和文件名組合,並存放到數組中
List1.AddItem Files(a) '加入list控制項中
sPath = Dir '查找下一個文件
DoEvents '讓出控制權
Loop

sPath = Dir(Path & "\", vbDirectory) '查找第一個文件夾

Do While Len(sPath) '循環到沒有文件夾為止
If Left(sPath, 1) <> "." Then '為了防止重復查找
If GetAttr(Path & "\" & sPath) And vbDirectory Then '如果是文件夾則。。。。。。
b = b + 1
ReDim Preserve Folder(1 To b)
Folder(b) = Path & sPath & "\" '將目錄和文件夾名稱組合形成新的目錄,並存放到數組中
End If
End If
sPath = Dir '查找下一個文件夾
DoEvents '讓出控制權
Loop

For c = 1 To b '使用遞歸方法,遍歷所有目錄
SearchFiles Folder(c), FileType
Next

End Function

Private Sub Command1_Click() '調用
SearchFiles "e:\", "*.exe"
End Sub

熱點內容
linux日誌目錄 發布:2025-08-28 09:47:53 瀏覽:524
電腦顯示無法與設備dns伺服器通訊 發布:2025-08-28 09:46:40 瀏覽:339
sqlserver數組 發布:2025-08-28 09:46:39 瀏覽:912
xp系統搭建ftp 發布:2025-08-28 09:45:52 瀏覽:559
綠色解壓圖片 發布:2025-08-28 09:45:41 瀏覽:949
編程器的原理 發布:2025-08-28 09:02:29 瀏覽:527
python如何批量注釋 發布:2025-08-28 08:51:29 瀏覽:650
郵政的醫保統一密碼是多少 發布:2025-08-28 08:46:31 瀏覽:581
protel不能編譯 發布:2025-08-28 08:45:36 瀏覽:929
雲伺服器更換ip後網站打不開 發布:2025-08-28 08:37:28 瀏覽:861