導航:首頁 > 文件處理 > 遍歷文件夾教程

遍歷文件夾教程

發布時間:2022-07-02 01:30:32

Ⅰ C#如何快速遍歷文件夾

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.IO;
namespace 遍歷文件夾和子文件夾
{
class Program
{
private static FileStream fs;
private static StreamWriter sw;
static void Main(string[] args)
{
string path;
int leval=0;
Console.WriteLine("請輸入需要列出內容的文件夾的完整路徑和文件名:");
path=Console.ReadLine();
path.Replace('\\','/');
fs = new FileStream("result.txt", FileMode.Create);
sw = new StreamWriter(fs);
//開始寫入文件
sw.WriteLine("遍歷結果如下:");
sw.WriteLine(path);
listDirectory(path,leval);
//清空緩沖區
sw.Flush();
//關閉流
sw.Close();
fs.Close();
Console.WriteLine("請按任意鍵繼續……");
Console.ReadKey();
}
/// <summary>
/// 列出path路徑對應的文件夾中的子文件夾和文件
/// 然後再遞歸列出子文件夾內的文件和文件夾
/// </summary>
/// <param name="path">需要列出內容的文件夾的路徑</param>
/// <param name="leval">當前遞歸層級,用於控制輸出前導空格的數量</param>
private static void listDirectory(string path,int leval)
{
DirectoryInfo theFolder = new DirectoryInfo(@path);

leval++;

//遍歷文件
foreach (FileInfo NextFile in theFolder.GetFiles())
{
for (int i = 0; i < leval; i++) sw.Write('\t');
sw.Write("-->");
sw.WriteLine(NextFile.Name);
}
//遍歷文件夾
foreach (DirectoryInfo NextFolder in theFolder.GetDirectories())
{
for (int i = 0; i < leval; i++) sw.Write('\t');
sw.Write("--)");
sw.WriteLine(NextFolder.Name);
listDirectory(NextFolder.FullName, leval);
}
}
}
}

Ⅱ win10cmd怎麼遍歷文件夾

工具:win10系統電腦一台步驟:1、打開win10系統電腦,打開文件夾選項,如圖所示,點擊「查看」選項後點擊「選項」打開文件夾選項對話框。2、找到「隱藏文件和文件夾」選項 如圖所示,找到「隱藏文件和文件夾」選項,選擇「顯示隱藏的文件、文件夾和驅動」

Ⅲ 如何遍歷一文件夾下所有文件

這是一個遞歸調用的做法。 你可以做個函數 findAll 參數是 目錄名 。 開始遍歷,當你發現當前是目錄。應該再調用函數findall,傳入目錄,讓函數去遍歷子目錄。這樣函數返回後,你可以繼續遍歷。

Ⅳ 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

Ⅳ 如何遍歷文件夾中的所有文件

您好,很高興能幫助您
Private Sub Command1_Click()
Dim FileName As String, FilePath As String
Dim iFolder As Object, Xlapp As Object, Sh As Object
Set iFolder = CreateObject("shell.application").BrowseForFolder(0, "", 0, "")
If iFolder Is Nothing Then Exit Sub
FilePath = iFolder.Items.Item.Path
FilePath = IIf(Right(FilePath, 1) = "\", FilePath, FilePath & "\")
FileName = Dir(FilePath & "*.xls*")
Set Xlapp = CreateObject("excel.application")
Xlapp.displayalerts = False
Do Until Len(FileName) = 0
With Xlapp.workbooks.open(FilePath & FileName)
For Each Sh In .WORKSHEETS
If Len(Sh.RANGE("B2").Value) = 0 Then Sh.Delete
Next
.Close True
End With
FileName = Dir
Loop
Xlapp.quit
Set Xlapp = Nothing
End Sub
你的採納是我前進的動力,
記得好評和採納,答題不易,互相幫助,

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

1、操作系統中有相關的API函數,可以讀取目錄中所有的文件名字,以及時間屬性信息,把這些信息讀出來,直接依次遍歷即可。

2、常式:

#include"stdio.h"
#include"io.h"
intmain()
{
struct_finddata_tfiles;
intFile_Handle;
inti=0;
File_Handle=_findfirst("c:/temp/*.txt",&files);
if(File_Handle==-1)
{
printf("error ");
return0;
}
do
{
printf("%s ",files.name);
i++;
}while(0==_findnext(File_Handle,&files));
_findclose(File_Handle);
printf("Find%dfiles ",i);
return0;
}

Ⅶ 在java中如何遍歷某個路徑下的所有文件夾和文件

首先,我們先來遍歷一下D盤根目錄下所有的子文件:public
static
void
fileList()
{
File
file=new
File("d:/");
File[]
files
=
file.listFiles();
if
(files
!=
null)
{
for
(File
f
:
files)
{
System.out.println(f.getPath());
}
}
}對此,我們肯定不滿足,我們需要遍歷D盤下所有的文件和文件夾,而不是根目錄下的文件夾,這個時候我們需要使用到遞歸:public
static
void
fileList(File
file)
{
File[]
files
=
file.listFiles();
if
(files
!=
null)
{
for
(File
f
:
files)
{
System.out.println(f.getPath());
fileList(f);
}
}
}然後在主函數中調用:public
static
void
main(String[]
args)
{
File
file=new
File("d:/");
fileList(file);
}結果是不是能令你滿意呢?顯然,輸出的都是全路徑,我們可以對我們的遞歸函數做如下改進:
public
static
void
fileList(File
file,int
node)
{
node++;
File[]
files
=
file.listFiles();
if
(files
!=
null)
{
for
(File
f
:
files)
{
for(int
i=0;i<node;i++){
if(i==node-1){
System.out.print("├");
}
else{
System.out.print("
");
}
}
System.out.println(f.getName());
fileList(f,node);
}
}
}然後再次在主函數中調用:public
static
void
main(String[]
args)
{
File
file=new
File("d:/");
fileList(file,0);
}得到的結果是一個類似樹狀的結構,如果你對此還不滿意,可以嘗試給JTree上添加節點,可以做到和資源管理器中一樣的結構。

Ⅷ 請教,如何遍歷一個文件夾下的所有文本文件

關於你說的遍歷的問題,如果是在 WINDOWS 系統下面,你可以進入 MS-DOS 提示符,然後輸入:DIR *.TXT /A /S 即可;如果是在 UNIX/Linux 系統下面,你可以使用 find 命令,即:find . -name "*.TXT" -print 。如果再進一步需要對其中的文件內容進行訪問的話,那麼就需要你進行編寫程序了。即:每當你成功打開一個文本文件的時候,你就對該文件做相應的處理,然後關閉該文件,再尋找下一個文本文件,並進行同樣的步驟。

Ⅸ 請我如何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

Ⅹ Python中如何遍歷指定目錄下的所有文件

例如:在C:\TDDOWNLOAD目錄下有a.txt、b.txt兩個文件,另有\sub1子文件夾,C:\TDDOWNLOAD\sub1下又有c.txt、d.txt兩個文件。 1. os.walk os.walk()返回一個三元素的tuple:當前路徑、子文件夾名稱、文件列表。>>> import os>>> def fun( path ):... for root, dirs, files in os.walk( path ):... for fn in files:... print root, fn... >>> fun( r'C:\TDDOWNLOAD' )C:\TDDOWNLOAD a.txtC:\TDDOWNLOAD b.txtC:\TDDOWNLOAD\sub1 c.txtC:\TDDOWNLOAD\sub1 d.txt>>> 2. glob.glob glob.glob()只接受一個參數,這個參數既代有路徑,又代有匹配模式,返回值為一個列表。注意,glob.glob()無法直接穿透子文件夾,需要自己處理:>>> def fun( path ):... for fn in glob.glob( path + os.sep + '*' ): # '*'代表匹配所有文件... if os.path.isdir( fn ): # 如果結果為文件夾... fun( fn ) # 遞歸... else:... print fn... >>> fun( r'C:\TDDOWNLOAD' )C:\TDDOWNLOAD\a.txtC:\TDDOWNLOAD\b.txtC:\TDDOWNLOAD\sub1\c.txtC:\TDDOWNLOAD\sub1\d.txt>>> '*'為匹配模式,代表匹配所有文件,只有這樣才能將子文件夾查出來,以便遞歸深入,探查下一層的文件。

閱讀全文

與遍歷文件夾教程相關的資料

熱點內容
放管伺服器怎麼辦理 瀏覽:627
手機號碼如何加密 瀏覽:424
沈陽程序員培訓學校 瀏覽:538
一般伺服器如何配置 瀏覽:895
圖片怎樣加密發郵件 瀏覽:619
萬虹電腦文件夾密碼忘記了怎麼辦 瀏覽:631
rc108單片機 瀏覽:867
戰雷如何改變伺服器 瀏覽:674
mactelnet命令 瀏覽:51
壓縮袋壓縮了拿出來 瀏覽:401
安卓手機相機怎麼設置許可權 瀏覽:121
美女程序員轉行做主播 瀏覽:671
辦理解壓房產 瀏覽:575
道路工程概論pdf 瀏覽:389
超棒數學速演算法大全 瀏覽:938
小米易語言登錄源碼 瀏覽:31
磚牆內加密鋼筋 瀏覽:993
鄉關何處pdf 瀏覽:85
小豬領贊小程序源碼 瀏覽:336
python曲線如何原路返回 瀏覽:432