如何获取文件夹下及其子目录下的所有文件名

如何获取文件夹下及其子目录下的所有文件名,第1张

如果想要获得当前文件中的文件名只需要String [] fileName = filelist();就可以了。如果要包括文件中的文件名就可以用递归的方式。下面是两个具体的实现。

其中public static String [] getFileName(String path)是只得到当前文件中的文件名。public static void getAllFileName(String path,ArrayList<String> fileName)是包括当前文件及其子文件的文件名。

public class GetFileName

{

public static String [] getFileName(String path)

{

File file = new File(path);

String [] fileName = filelist();

return fileName;

}

public static void getAllFileName(String path,ArrayList<String> fileName)

{

File file = new File(path);

File [] files = filelistFiles();

String [] names = filelist();

if(names != null)

fileNameaddAll(ArraysasList(names));

for(File a:files)

{

if(aisDirectory())

{

getAllFileName(agetAbsolutePath(),fileName);

}

}

}

public static void main(String[] args)

{

String [] fileName = getFileName("F:\\xiaoshuo");

for(String name:fileName)

{

Systemoutprintln(name);

}

Systemoutprintln("--------------------------------");

ArrayList<String> listFileName = new ArrayList<String>();

getAllFileName("F:\\xiaoshuo",listFileName);

for(String name:listFileName)

{

Systemoutprintln(name);

}

}

}

运行时需要更改一下具体的文件夹

*** 作方法如下:

一、如下图,要提取出E盘下名为“1111”文件夹下的所有文件名字。

二、这时按下WIN+R打开运行窗口,输入CMD,点击“确定”打开命令提示符。

三、在命令提示符窗口内输入“dir E:\1111 > E:\1txt”,点击回车键即可提取1111文件夹下的所有文件名字,并存储成为一个TXT格式文本文档,该文档存放于E盘根目录下。

四、这时进入E盘根目录,找到这个名为1txt的文本文档,打开该文档即可看到提取的全部文件名字。

1、在该文件夹中点击鼠标右键->新建->文本文件

2、打开该文本文件,输入

DIR /S/B >FILESLIST111TXT

另存为 RBAT

3、双击运行刚创建的文件 RBAT

将得到一个新文件 FILESLIST111TXT

4、打开文件 FILESLIST111TXT

这个文件内容就是你的该文件夹下所有文件清单(含子目录下)。

去掉/S开关,将仅获取本目录的文件列表

ls-l/ls-aldu-b/du-klinux的du命令1简介du(showdiskuseage)查看磁盘使用情况2语法du[-abcDhHklmsSx][-L][-X][--block-size][--exclude=][--max-depth=][--help][--version][目录或文件]常用参数:-a或-all为每个指定文件显示磁盘使用情况,或者为目录中每个文件显示各自磁盘使用情况。-b或-bytes显示目录或文件大小时,以byte为单位。-c或–total除了显示目录或文件的大小外,同时也显示所有目录或文件的总和。-D或–dereference-args显示指定符号连接的源文件大小。-h或–human-readable以K,M,G为单位,提高信息的可读性。-H或–si与-h参数相同,但是K,M,G是以1000为换算单位,而不是以1024为换算单位。-k或–kilobytes以1024bytes为单位。-l或–count-links重复计算硬件连接的文件。-L或–dereference显示选项中所指定符号连接的源文件大小。-m或–megabytes以1MB为单位。-s或–summarize仅显示总计,即当前目录的大小。-S或–separate-dirs显示每个目录的大小时,并不含其子目录的大小。-x或–one-file-xystem以一开始处理时的文件系统为准,若遇上其它不同的文件系统目录则略过。-X或–exclude-from=在指定目录或文件。–exclude=略过指定的目录或文件。–max-depth=超过指定层数的目录后,予以忽略。–help显示帮助。–version显示版本信息。3du命令使用示例1>要显示一个目录树及其每个子树的磁盘使用情况du/home/linux这在/home/linux目录及其每个子目录中显示了磁盘块数。2>要通过以1024字节为单位显示一个目录树及其每个子树的磁盘使用情况du-k/home/linux这在/home/linux目录及其每个子目录中显示了1024字节磁盘块数。3>以MB为单位显示一个目录树及其每个子树的磁盘使用情况du-m/home/linux这在/home/linux目录及其每个子目录中显示了MB磁盘块数。4>以GB为单位显示一个目录树及其每个子树的磁盘使用情况du-g/home/linux这在/home/linux目录及其每个子目录中显示了GB磁盘块数。5>查看当前目录下所有目录以及子目录的大小:du-h“”代表当前目录下。也可以换成一个明确的路径-h表示用K、M、G的人性化形式显示6>查看当前目录下user目录的大小,并不想看其他目录以及其子目录:du-shuser-s表示总结的意思,即只列出一个总结的值du-h–max-depth=0user–max-depth=n表示只深入到第n层目录,此处设置为0,即表示不深入到子目录。7>列出user目录及其子目录下所有目录和文件的大小:du-ahuser-a表示包括目录和文件8>列出当前目录中的目录名不包括xyz字符串的目录的大小:du-h–exclude=’xyz’9>想在一个屏幕下列出的关于user目录及子目录大小的信息:du-0huser-0(杠零)表示每列出一个目录的信息,不换行,而是直接输出下一个目录的信息。10>只显示一个目录树的全部磁盘使用情况du-s/home/linux-------------------------------------------------------------------------------------------------------------------------------------------------------------------LinuxLS命令详细介绍lsls命令可以说是linux下最常用的命令之一。它有众多的选项,其中有很多是很有用的,你是否熟悉呢?下面列出了ls命令的绝大多数选项。-a列出目录下的所有文件,包括以开头的隐含文件。-b把文件名中不可输出的字符用反斜杠加字符编号(就象在C语言里一样)的形式列出。-c输出文件的i节点的修改时间,并以此排序。-d将目录象文件一样显示,而不是显示其下的文件。-e输出时间的全部信息,而不是输出简略信息。-f-U对输出的文件不排序。-g无用。-i输出文件的i节点的索引信息。-k以k字节的形式表示文件的大小。-l列出文件的详细信息。-m横向输出文件名,并以“,”作分格符。-n用值UID,GID代替名称。-o显示文件的除组信息外的详细信息。-p-F在每个文件名后附上一个字符以说明该文件的类型,“”表示可执行的普通文件;“/”表示目录;“@”表示符号链接;“|”表示FIFOs;“=”表示套接字(sockets)。-q用代替不可输出的字符。-r对目录反向排序。-s在每个文件名后输出该文件的大小。-t以时间排序。-u以文件上次被访问的时间排序。-x按列输出,横向排序。-A显示除“”和“”外的所有文件。-B不输出以“~”结尾的备份文件。-C按列输出,纵向排序。-G输出文件的组的信息。-L列出链接文件名而不是链接到的文件。-N不限制文件长度。-Q把输出的文件名用双引号括起来。-R列出所有子目录下的文件。-S以文件大小排序。-X以文件的扩展名(最后一个后的字符)排序。-1一行只输出一个文件。--color=no不显示彩色文件名--help在标准输出上显示帮助信息。--version在标准输出上输出版本信息并退出。只列出子目录1ls-F|grep/$或者aliassub="ls-F|grep/$"(linux)2ls-l|grep"^d"或者ls-lL|grep"^d"(Solaris)计算当前目录下的文件数和目录数下面命令可以分别计算当前目录下的文件和目录个数:#ls-l|grep"^-"|wc-l----tocountfiles#ls-l|grep"^d"|wc-l-----tocountdir显示彩色目录列表打开/etc/bashrc,加入如下一行:aliasls="ls--color"下次启动bash时就可以像在Slackware里那样显示彩色的目录列表了,其中颜色的含义如下:1蓝色-->目录2绿色-->可执行文件3红色-->压缩文件4浅蓝色-->链接文件5灰色-->其他文件ls-tl--time-style=full-isosshdls-ctl--time-style=long-iso-------------------------------------------------------------------------------------------------------------------------------------------------------------------附:du-sh查看当前文件夹大小du-sh|sort-n统计当前文件夹(目录)大小,并按文件大小排序附送:du-skfilename查看指定文件大小Linux:ls以K、M、G为单位查看文件大小Linux:ls以K、M、G为单位查看文件大小。#manls……-h,--human-readableprintsizesinhumanreadableformat(eg,1K234M2G)……#lscusswarnohupout#ls-ltotal30372-rw-r--r--1rootroot31051909May2410:07cusswar-rw-------1rootroot0Mar2013:52nohupout#ls-lhtotal30M-rw-r--r--1rootroot30MMay2410:07cusswar-rw-------1rootroot0Mar2013:52nohupout#ll-htotal30M-rw-r--r--1rootroot30MMay2410:07cusswar-rw-------1rootroot0Mar2013:52nohupout[root@localhostrice_f2]#ls-lhs总计28G15G-rw-r--r--1rootroot15G06-0414:35alltxt80K-rwx--x--x1rootroot63206-0415:57hashpl371M-rw-r--r--1rootroot371M06-0318:061fa360M-rw-r--r--1rootroot359M06-0318:072fna80K

我假设你要复制文件夹D:\ABC下所有的文件,包括子目录下的文件到D盘的CBA文件夹中。

新建文本文件,输入:XCOPY D:ABC\ D:\CBA /S

文件另存为1bat文件,保存类型选择所有文件。

注意:如果文件夹中有空格,则要用双引号把路径括起来。

如果想把该目录下所有的文件都统计出来,包括子目录、子目录的子目录。。。

可以使用oswalk来找出目录下所有的文件

import os

print sum([len(x) for _, _, x in oswalk(ospathdirname("test"))])

#test是目录名

oswalk会递归遍历指定目录下的文件,返回值分别为当前文件夹完整路径,当前文件夹中的文件夹和文件夹中的文件。我们只需要文件,所以其他的都不取出来了,直接使用"_"占位就行了。

如果只是想统计出当前目录下的文件,不包括子目录的。就使用oslistdir,只统计是文件的个数:

len([x for x in oslistdir(ospathdirname(__file__)) if ospathisfile(x)])

登录Linux系统之后打开终端,确定你要找关键字的目录。我这里就拿root用户来做演示。

2

查看下当前目录下所有的文件,你所要找的关键字就在当前目录下某个文件里面。

3

假如我这里要找的关键字是456,到底他位于哪个文件里面呢?首先我们要先确定是文件,而不是文件夹。

find -type f -print这个命令可以列出当前目录下的所有文件。

4

type后面的f是file的意思,所以只列出文件,而排除文件夹。

5

接下来只要在find命令后面加上exec命令就可以实现。

find -type f -print -exec grep 456 {} \;

在查询结果中可以看到456在btxt文件里面出现。

6

exec的意思就是执行find里面的结果,{}用来接收find的结果。注意后面要加上{} \;

66

以上就是关于如何获取文件夹下及其子目录下的所有文件名全部的内容,包括:如何获取文件夹下及其子目录下的所有文件名、怎样通过DOS来提取一个文件夹下所有文件的名字、如何获取某文件夹下的全部文件列表等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/9551600.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-29
下一篇 2023-04-29

发表评论

登录后才能评论

评论列表(0条)

保存