递归删除指定目录下所有文件及子目录

时间:2021-09-15 12:08:43

 

 

  
  
  
import java.io.File;

public class Test {
public static void main(String[] args) throws Exception{
Runtime r
= Runtime.getRuntime();
String command
= "" ;
String fileName
= " F:\\test " ;
if ( " / " .equals(File.separator)){ // Linux
command = " rm -rf " + fileName;
}
else if ( " \\ " .equals(File.separator)){ // xp
command = " cmd /c rd /q /s " + fileName;
}
r.exec(command);
}
}

 

cmd /c 表示运行其后的命令并自动终止。

 

【附】windows xp操作系统下dos的新增功能:

命令:dir,列文件、目录

增加参数:/-c

参数说明:dir列文件、目录时显示的文件大小,其数值以千为单位进行分隔,使用此参数即“dir/-c”将取消显示中的分隔符,以满足部分人的视觉习惯。

增加参数:/q

参数说明:windows是多用户操作系统,使用此参数即“dir /q”列文件、目录时,将显示出文件、目录的用户属性。

增加参数:/t:c、/t:a、/t:w

参数说明:使用此参数即“dir/t:c”、“dir/t:a”、“dir/t:w”分别显示文件、目录的创建时间、上次访问时间和上次修改时间。

增加参数:/x

参数说明:使用此参数即“dir/x”列文件、目录时,会对长文件名同时显示“8.3”格式的文件名。

命令:cd,改变目录

增加参数:/d

参数说明:此参数的作用是快速改变当前目录,比如当前目录是c:windows,使用命令“cd/d e:tools”可快速切换到e:tools目录下。

注:只有在win xp的“运行”文本框中输入“cmd”得到的dos窗口中才能使用此参数。

命令:md,建立目录

功能说明:此命令并未增加参数,但是增强了功能,它可一次建立多级子目录,例如使用命令“md aabbccdd”将一次性创建aa、bb、cc、dd四级子目录。而在老版本的dos中,若不存在aa子目录,便无法直接建立aa下的bb等深层子目录。

命令:rd,删除目录

增加参数:/s

参数说明:使用此参数即“rd/s”用于删除目录树,即删除目录及目录下的所有子目录和文件,相当于以前版本中的deltree命令。

增加参数:/q

参数说明:使用上面的/s参数删除目录树时,系统会要求用户确认是否真的要删除。若同时使用/q参数即“rd/s /q”,在进行删除操作时将取消确认,相当于deltree命令的/y参数。

命令:del,删除文件或目录

增加参数:/f

参数说明:使用此参数即“del/f”可删除只读文件。

增加参数:/s、/q

参数说明:使用此参数即“del/s”作用与“rd/s”完全相同,即删除目录及目录下的所有子目录和文件。同时使用参数/q,可取消删除操作时的系统确认。

增加参数:/a

参数说明:删除指定属性或指定属性以外的文件,/ar、/ah、/as、/aa分别表示删除只读、隐藏、系统、存档文件,/a-r、/a-h、/a-s、 /a-a表示删除除只读、隐藏、系统、存档以外的文件。

例如“del/ar *.*”表示删除当前目录下所有只读文件,

“del/a-s *.*”表示删除当前目录下除系统文件以外的所有文件。

命令:attrib,更改文件或目录的属性

增加参数:/d

参数说明:在win xp中我们不能把文件或文件夹设置为系统属性,只能设为只读、隐藏或存档属性。而带参数/d使用attrib命令可以对文件的所有属性进行设定,设定时必须与参数/s同时使用。

例如“attrib /s /d +s d:study”,作用是将d:study文件夹设置为系统文件夹。

命令:format,格式化磁盘

增加参数:/fs:filessystem

参数说明:按指定文件系统类型(fat、fat32、ntfs)格式化磁盘,

例如“format /fs:ntfs”。

命令:date、time,显示系统日期和时间

增加参数:/t

参数说明:使用此参数即“date/t”、“time/t”将只显示当前日期和时间,而不必输入新日期和时间。