递归列出给定路径下的所有文件和文件夹? [复制]

     2023-03-29     251

关键词:

【中文标题】递归列出给定路径下的所有文件和文件夹? [复制]【英文标题】:list recursively all files and folders under the given path? [duplicate] 【发布时间】:2011-04-12 06:09:15 【问题描述】:

可能重复:How to recursively list all the files in a directory in C#?

我想列出给定文件夹(路径)的文件和文件夹的“子路径”

假设我有文件夹 C:\files\folder1\subfolder1\file.txt

如果我给函数 c:\files\folder1\

我会得到 子文件夹1 子文件夹1\file.txt

【问题讨论】:

您已经检查过 FileInfo 和 DirectoryInfo 可用的 API?使用这些类实现您想要的行为非常简单...... 【参考方案1】:

您可以使用Directory.GetFiles 方法列出文件夹中的所有文件:

string[] files = Directory.GetFiles(@"c:\files\folder1\", 
    "*.*",
    SearchOption.AllDirectories);

foreach (var file in files)

    Console.WriteLine(file);

请注意,SearchOption 参数可用于控制搜索是递归的 (SearchOption.AllDirectories) 还是非递归的 (SearchOption.TopDirectoryOnly)。

【讨论】:

此解决方案不包括返回列表中的文件夹。 @galmok:使用Directory.GetFileSystemEntries(...) 代替Directory.GetFiles(...)"*" 代替"*.*"【参考方案2】:

试试这样的:

static void Main(string[] args)

    DirSearch(@"c:\temp");
    Console.ReadKey();


static void DirSearch(string dir)

    try
    
        foreach (string f in Directory.GetFiles(dir))
            Console.WriteLine(f);
        foreach (string d in Directory.GetDirectories(dir))
        
            Console.WriteLine(d);
            DirSearch(d);
        

    
    catch (System.Exception ex)
    
        Console.WriteLine(ex.Message);
    

【讨论】:

【参考方案3】:
String[] subDirectories;
String[] subFiles;
subDirectories = System.IO.Directory.GetDirectories("your path here");
subFiles = System.IO.Directory.GetFiles("your path here");

【讨论】:

真的很简单,而且很震撼。但是只获取名称 - foreach (String str in subDirectories) Console.WriteLine(str.Split('\\').Last()); foreach (String str in subFiles) Console.WriteLine(str.Split('\\').Last());【参考方案4】:

使用System.IO.Directory 类和its methods

【讨论】:

【参考方案5】:

我记得不久前在 SO 上解决了一个类似的问题,尽管它是在 VB 中。这是question。

【讨论】:

在Unix中递归列出文件中的所有文件? [复制]

】在Unix中递归列出文件中的所有文件?[复制]【英文标题】:ListallfileswithinfilesrecursivelyinUnix?[duplicate]【发布时间】:2020-05-1304:51:40【问题描述】:我正在尝试通过某个目录中的所有文件grep。有没有办法通过ls之类的方式递归列... 查看详情

java递归获取一个路径下的所有文件,文件夹名称

packagecom.readfile;importjava.io.File;publicclassGetAllFiles{ publicstaticvoidmain(String[]args){ //路径这里写一个路径进去 Stringpath="F:\QQ文档"; //调用方法 getFiles(path); } /** *递归获取某路径下的所有文件,文件夹,并输出 */ publi 查看详情

如何在 Windows .bat 文件中递归列出 *.mp3 类型的所有文件?

】如何在Windows.bat文件中递归列出*.mp3类型的所有文件?【英文标题】:HowdoIrecursivelylistallfilesoftype*.mp3inaWindows.batfile?【发布时间】:2011-02-2610:07:09【问题描述】:我想从给定目录中递归列出所有以mp3结尾的文件的绝对路径,该目... 查看详情

案例:遍历目录(代码片段)

需求:给定一个路径(F:java),请通过递归完成遍历该目录下的所有内容,并把所有文件的绝对路径输出在控制台/*需求:给定一个路径(F:java),请通过递归完成遍历该目录下的所有内容,并把所有文件的绝对路径输出在控制台*/publ... 查看详情

如何从给定路径(包括子目录)递归加载所有符号文件?

】如何从给定路径(包括子目录)递归加载所有符号文件?【英文标题】:Howtoloadallsymbol-filesrecursivelyfromgivenpathincludingsubdirectories?【发布时间】:2011-02-1910:58:56【问题描述】:您可以使用以下命令将单个符号文件指向gdb:symbol-fi... 查看详情

linux命令笔记

...bmv./*../ROOT/把当前目录下的所有文件移动到上级目录的ROOT文件夹里面cp起始路径目标路径将一个文件从一个地址复制到另一个地址cp文件1文件2将文件1复制一份命名为文件2ssh远程主机的用户名@远程主机ip远程登录服务器(如果无... 查看详情

linux命令总结(代码片段)

...复制至目标文件,或将多个源文件复制至目标目录。-r-R递归复制该目录及其子目录内容-p连同档案属性一起复制过去-f不询问而强制复制-s生成快捷方式-a将档案的所有特性都一起复制```4.scp[参数][原路径][目标路径]| 查看详情

有没有办法从给定路径获取所有子目录? [复制]

...子目录,以及它们的子目录一直到最后。我正在考虑一个递归函数,但我不确定如何解决这个问题。【问题讨论】:【参考 查看详情

linux基本指令

...(ls-l可缩写为ll)-R列出所有子目录下的文件。(递归)2.1.3、pwd指令1)语法:pwd2)功能:显示用户当前所在的目录,常用于复制路径2.1.4、touch指令1)语法:touch[选项]…文件…2)功能:touch命令参... 查看详情

递归列出一个目录下所有的文件夹和文件

packagechapter10;importjava.io.File;/***列出一个目录下所有的文件夹和文件**/publicclassTestFile02 publicstaticvoidmain(String[]args) Filefile=newFile("E:\av"); listFile(file); publicstaticvoidlistFile(Filefile) 查看详情

远程登录和复制文件

...文件选项:  -r:若给出的源文件是目录文件,则scp将递归复制该目录下的所有子目录和文件,目标文件必须为一个目录名  -P:若远程SSH服务器的端口不是22,需要使用大写字母-P 选项指定端口(默认端口22则不需要添... 查看详情

docker命令之四:dockercp

...ainerandthelocalfilesystem在容器和本地文件系统之间复制文件/文件夹dockercp命令类似于UNIX中的cp-a命令,递归复制目录下的所有子目录和文件-表示通过标准输入/输出设备以流的方式读取或写入tar文件本地文件系统中的路径可以是绝对... 查看详情

php列出当前目录下所有文件(自身别列出来)

...目录的列出来);辛苦了!!1、列出当前目录的文件、文件夹完整路径ls-1|awk'printi$0'i=`pwd`'/'(注意:这里ls后面那是个数字1而不是字母l)2、列出当前目录及子目录的文件、文件夹完整路径ls-r|awk'printi$0'i=`pwd`&... 查看详情

java递归读取文件路径下所有文件名称并保存为txt文档

本文用递归的方法实现读取一个路径下面的所有文件并将文件名称保存到Txt文件中,亲测可用。递归读取文件路径下的所有文件:/***递归读取文件路径下的所有文件**@parampath*@paramfileNameList*@return*/publicstaticArrayList<String>readFil... 查看详情

正确地递归忽略特定文件夹下的所有文件,特定文件类型除外

】正确地递归忽略特定文件夹下的所有文件,特定文件类型除外【英文标题】:Correctlyignoreallfilesrecursivelyunderaspecificfolderexceptforaspecificfiletype【发布时间】:2013-07-2216:07:45【问题描述】:我见过类似的问题(1、2和3),但我没有... 查看详情

获取给定路径中的所有文件和子文件夹 - C/C++ 中的语言兼容性

】获取给定路径中的所有文件和子文件夹-C/C++中的语言兼容性【英文标题】:Gettingallfilesandsubfoldersingivenpath-languagecompatibilityinC/C++【发布时间】:2014-08-2720:28:44【问题描述】:所以基本上我需要列出所有文件和子文件夹以及其中... 查看详情

文件管理(代码片段)

...当前目录下所有文件例:显示目录内容的额外信息或者例:递归显示目录内容例:组合应用stat查看文件状态例:查看issue文件的状态,注意三个时间戳通配符touch用来生成空文件,如果此文件存在,将刷新此文件的时间戳例:创建空... 查看详情

linux命令cp递归复制和带权限复制

参考技术Acp-r递归复制源目录下所有文件及子目录到目标目录或文件cp-p把源文件或目录下的所具有的权限一同复制到目标目录或文件 查看详情