递归删除指定目录下所有文件及子目录
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”将只显示当前日期和时间,而不必输入新日期和时间。