请问linux怎样删除某一个目录下所有指定文件名的文件

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了请问linux怎样删除某一个目录下所有指定文件名的文件相关的知识,希望对你有一定的参考价值。

用find命令可以做到:
find
/home/kevin/test
-name
cc.txt
-exec
rm
-rf
\;
意思是:找到/home/kevin/test
下名字为cc.txt的文件,并且执行(-exec)命令
rm
-rf
进行删除.
参考技术A find
/home/kevin/test
-name
cc.txt
-exec
rm
-f

\;
给你解释一下吧:
find
是一个强大的搜索命令
-name
选项用来搜索符合条件的文件
搜到之后用-exec
选项来执行命令

请问如何用java在指定目录中 以及子目录 找出同名文件?

举例来说 在C:\Program Files (x86)\Java\ 找出 所有名为java.exe的文件
哦 对
最後还得显示出是哪的文件

你好,很简单的代码,可以直接运行

import java.io.File;
import java.util.ArrayList;
import java.util.List;

public class test2

static List<File> list = new ArrayList<File>();// 存储目标文件

public static void main(String[] args)
File root = new File("C:\\Program Files\\Java");
findFile(root, "java.exe");


public static void findFile(File root, String name)
if (root.exists() && root.isDirectory())
for (File file : root.listFiles())
if (file.isFile() && file.getName().equals(name)) // 如果是文件,而且同名
list.add(file);
else if (file.isDirectory()) // 如果是目录,则继续递归遍历
findFile(file, name);




追问

如果要用輸出文件名呢?

追答

你好,你看下面的代码,我修改了一句,并给了注释

import java.io.File;
import java.util.ArrayList;
import java.util.List;

public class test2

static List list = new ArrayList();

public static void main(String[] args)
File root = new File("C:\\Program Files\\Java");
findFile(root, "java.exe");


public static void findFile(File root, String name)
if (root.exists() && root.isDirectory())
for (File file : root.listFiles())
if (file.isFile() && file.getName().equals(name))
System.out.println(file.getName());//这里输出文件名!
else if (file.isDirectory())
findFile(file, name);




参考技术A package test;

import java.io.File;
import java.util.LinkedList;

public class FileSystem
public static void main(String[] args)
FileSystem a = new FileSystem();
File file = new File("F:\\·L资料\\教程\\js");
a.queryFile(file);


public void queryFile(File file)
LinkedList list = new LinkedList();
File dir = file;
File files[] = dir.listFiles();
for (int i = 0; i < files.length; i++)
if (files[i].isDirectory())
queryFile(files[i]);
else
if("java.exe".equals(files[i].getName()))
System.out.println(files[i].getAbsolutePath());




参考技术B 通过java 代码实现

以上是关于请问linux怎样删除某一个目录下所有指定文件名的文件的主要内容,如果未能解决你的问题,请参考以下文章

linux下怎样比较两个目录下所有文件是不是有区别

Linux下批量删除文件(急)

请问如何用java在指定目录中 以及子目录 找出同名文件?

Linux怎样计算一个目录下一部分文件的总大小

怎样使用windows命令行,用notepad打开某文件夹下面的所有文件

Linux下zip压缩文件时怎样排除指定的文件?