这两天公司闹蠕虫,会在每个目录里放一个_desktop.ini文件。杀毒软件可以杀掉病毒,但是不会清除文件。今天自己机器也感染了,写了个小工具做这个清除工作,竟然删掉了十一万个残留文件
![](/images/smiles/icon_confused.gif)
。代码如下:
import java.io.File;
import java.io.FileFilter;
public class FileCleaner {
//file name to be deleted
private String fileName = null;
//deleted file number counter
private int counter = 0;
public FileCleaner(String fileName){
if(fileName == null || fileName.length() <= 0)
throw new IllegalArgumentException();
this.fileName = fileName;
}
/**
* entry method
*
* @param path directory to be processed
*/
public void cleanFile(String path){
File dir = new File(path);
if(!dir.isDirectory())
return;
processDir(dir);
}
/**
* returns the deleted file number
*
* @return
*/
public int getDeletedFileCount(){
return counter;
}
private void processDir(File tmp) {
System.out.println("Start to check " + tmp.getAbsolutePath());
File[] acceptedFiles = tmp.listFiles(new FileFilter(){
public boolean accept(File f){
if(f.isDirectory() || fileName.equals(f.getName()))
return true;
else
return false;
}
});
if(acceptedFiles != null && acceptedFiles.length > 0){
for(int n=0;n<acceptedFiles.length;n++){
if(acceptedFiles[n].isDirectory()){
processDir(acceptedFiles[n]);
}
else{
if(fileName.equals(acceptedFiles[n].getName())){
acceptedFiles[n].delete();
counter++;
System.out.println(tmp.getAbsolutePath() + "\\" + fileName + " is deleted!");
}
}
}
}
}
//----------------------------------------------------------
private static String help(){
StringBuffer help = new StringBuffer(128);
help.append("Delete all files with given name in the specified directory and its subdirectories. \n\n");
help.append("command [file name] [dir] [dir] [dir] \n\n");
help.append("For example: \n");
help.append(" java -jar FileCleaner.jar _desktop.ini c:/ d:/ e:/");
return help.toString();
}
public static void main(String[] args){
if(args == null || args.length <= 1){
System.err.println(help());
System.exit(0);
}
FileCleaner fc = new FileCleaner(args[0]);
for(int n=1;n<args.length;n++){
fc.cleanFile(args[n]);
}
System.out.println("Finish deleting " + args[0] + ", total " + fc.getDeletedFileCount() + " deleted!");
}
}
分享到:
相关推荐
清理多余系统垃圾!免疫磁盘自动运行! 删除临时文件!
没什么用处 这是我平时练习的时候用的
标签“杀杀杀,病毒杀无赦”强调了这款工具的主要目标是彻底消除病毒,不留任何痕迹,提供全面的保护。 压缩包中的文件“USBCleaner6.0”很可能是指该u盘专杀工具的第六个版本。版本号的升级通常意味着软件功能的...
外部协议验证杀杀杀杀杀杀杀杀杀
由于提供的【部分内容】仅包含了一些无意义的重复文字“Clv杀杀杀”,并没有提供实际的内容信息,因此无法从中提取有用的知识点。但是,根据这些信息,我们可以推测出文档可能是通过OCR(光学字符识别)技术扫描自...
用喵星的力量屏蔽广告! Meow Blocker PRO用可爱的猫照片取代了所有烦人的广告! 支持语言:English (United States)
在Facebook上隐藏广告,还有更酷的东西。没有Javascript、CSS。 宣传没有Facebook? Nunca mais! 填入脚本,然后再进行预判。 Apestes um arquivo de estilos。...支持语言:English (United States)
水水水水水水水水水水水水水水水水
mongoDB安装图解,步骤,解决方案,cmd运行,服务器启动步骤