如何获取一个文件夹里面所有文件的文件名,不要后缀名

如何获取一个文件夹里面所有文件的文件名,不要后缀名,第1张

假设原文件夹为g:\test,目标文件夹为g:\bat,本批处理

将会把g:\test文件夹下(包括子目录)所有同名不同后缀的文件拷贝到g:\bat目录下

且按照不同名字建立相应的文件夹,同名文件就放在对应名称的文件夹内

代码如下:

set

srcfolder=g:\test

set

desfolder=g:\bat

for

/f

"delims="

%%a

in

('dir

"%srcfolder%\"

/a-d

/b

/s')

do

(

md

"%desfolder%\%%~na"

2>nul

xcopy

/y

"%%a"

"%desfolder%\%%~na"

2>nul

)

如果想要获得当前文件中的文件名只需要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);

}

}

}

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

用DOS命令:

(假设你的这个文件夹是c:\pdf)

dir

c:\pdf\pdf

>

c:\pdf\listtxt

运行完之后到目录下去找一个文件名是listtxt的,打开就是文件名了

按Alt+F11,打开VBA编辑器,插入一个模块,把下面的代码贴进去,按F5执行

Sub t()

Dim s As FileSearch '定义一个文件搜索对象

Set s = ApplicationFileSearch

sLookIn = "c:\" '注意路径,换成你实际的路径

sFilename = "" '搜索所有文件

sExecute '执行搜索

CellsDelete '表格清空

For i = 1 To sFoundFilesCount

Cells(i, 1) = sFoundFiles(i) '每一行第一列填写一个文件名

Next

End Sub

tree命令列目录

为什么不直接用tree命令,还能显示目录树结构。

C:\>tree /

以图形显示驱动器或路径的文件夹结构。

TREE [drive:][path] [/F] [/A]

 /F   显示每个文件夹中文件的名称。

 /A   使用 ASCII 字符,而不使用扩展字符。

如果想要获得当前文件中的文件名只需要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); } }}运行时需要更改一下具体的文件夹。

以上就是关于如何获取一个文件夹里面所有文件的文件名,不要后缀名全部的内容,包括:如何获取一个文件夹里面所有文件的文件名,不要后缀名、如何获取文件夹下及其子目录下的所有文件名、如何获取某文件夹中所有子文件夹的文件名等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

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

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

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

发表评论

登录后才能评论

评论列表(0条)

保存