JAVA开发--U盘EXE恢复工具
原理比较简单,在学校机房U盘总被感染,写一个工具来方便用
package com.udiskrecover; import java.awt.Container;
import java.awt.FlowLayout;
import java.awt.GridLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.io.IOException; import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.JTextField;
import javax.swing.text.AbstractDocument.Content; /*
############################################################
# #
# 【名称】 : U盘EXE恢复工具 #
# 【作者】 : Sevck(一个写代码很帅的男人) #
# 【团队】 : 网络尖刀 #
# 【主页】 : http://sevck.lofter.com #
# 【日期】 : 2015-10-15 #
# 【功能】 : 将磁盘上病毒引起的感染EXE通过DOS恢复 #
# #
############################################################
# ┏┓ ┏┓
#┏┛┻━━━┛┻┓
#┃ ┃
#┃ ━ ┃
#┃ ┳┛ ┗┳ ┃
#┃ ┃
#┃ ``` ┻ ```┃
#┃ ┃
#┗━┓ ┏━┛
#####┃ ┃Code is far away from bug with the animal protecting.
#####┃ ┃神兽护佑,代码无Bug.
#####┃ ┗━━━━━┓
#####┃ ┣┓
#####┃ ┏┛
#####┗┓┓┏━┳┓┏┛
#######┃┫┫ ┃┫┫
#######┗┻┛ ┗┻┛
############################################################
*/
public class UDiskRecover extends JFrame { JLabel label;
JTextField text;
JButton submit;
String reg = "[a-zA-Z]{1}"; public UDiskRecover() {
init();
} public void init() {
Container cp = this.getContentPane();
label = new JLabel("请输入要恢复的磁盘:");
text = new JTextField(10);
submit = new JButton("确定");
cp.add(label);
cp.add(text);
cp.add(submit); this.setSize(300, 200);
this.setVisible(true);
this.setDefaultCloseOperation(3);
//this.setLocationRelativeTo(null);
this.setTitle("U盘EXE恢复工具--By:Sevck");
this.setLayout(new FlowLayout(1, 20, 30));
this.setResizable(false);
submit.addActionListener(new ActionListener() { @Override
public void actionPerformed(ActionEvent e) {
// TODO Auto-generated method stub String content = text.getText();
boolean z = content.matches(reg);
Process process = null;
if (z) {
String cmd = "cmd.exe /c attrib -s -h -r " + content
+ ":\\\\* /s /d";
// String cmd="cmd.exe /c move d:\\1.txt e:\\";
// String cmd="cmd.exe /c move d:\\1.txt e:\\";
// System.out.println(newcon);
// System.out.println(cmd);
try {
process = Runtime.getRuntime().exec(cmd);
System.out.println(process.toString());
JOptionPane.showMessageDialog(null, "文件恢复成功!");
} catch (IOException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
JOptionPane.showMessageDialog(null, "文件恢复失败!");
}
} else {
JOptionPane.showMessageDialog(null,
"请输入正确的盘符!\r\n提示:a-z||A-Z,不需要写“:”.");
}
}
}); } public static void main(String[] args) {
new UDiskRecover();
}
}
JAVA开发--U盘EXE恢复工具的更多相关文章
- 【搬砖】安卓入门(1)- Java开发入门
01.01_计算机基础知识(计算机概述)(了解) A:什么是计算机?计算机在生活中的应用举例 计算机(Computer)全称:电子计算机,俗称电脑.是一种能够按照程序运行,自动.高速处理海量数据的现代 ...
- Java开发环境的搭建以及使用eclipse从头一步步创建java项目
一.java 开发环境的搭建 这里主要说的是在windows 环境下怎么配置环境. 1.首先安装JDK java的sdk简称JDK ,去其官方网站下载最近的JDK即可..http://www.orac ...
- 01 java开发前小知识
1.常见的dos命令 盘符: 进入指定的盘符下. dir : 列出当前目录下的文件以及文件夹 md : 创建目录 rd : 删除目录 注意:rd不能删除非空的文件夹,而且只能用于删除文件夹. c ...
- 搭建java开发环境、使用eclipse编写第一个java程序
搭建java开发环境.使用eclipse编写第一个java程序 一.Java 开发环境的搭建 1.首先安装java SDK(简称JDK). 点击可执行文件 jdk-6u24-windows-i586. ...
- Sublime Text3 C++及Java开发环境配置
一.C++开发环境配置 1. 下载MingW 2. 环境变量配置,系统属性->高级设置->环境变量,如果Mingw装在c盘更目录,其它自己思考 (1)PATH 变量值中加入 C:\Min ...
- 开始JAVA编程的敲门砖——JAVA开发环境搭建
从头开始的java编程--JAVA开发环境搭建 一.什么是java的开发环境? 顾名思义java的开发环境是提供并保证整个java程序开发运行的必要的环境,搭建java开发环境是开始java编程的敲门 ...
- Java开发环境的搭建01——Eclipse篇(Windows)
搭建环境是换项目组和新入职的开发入项都必须面临的一件事情,搭搭环境,一天就过去了...本着不浪费生命不做重复的无用功,在这里写写环境搭建的基本功,这篇是介绍Java环境搭建,常见的开发IDE无非就两种 ...
- 利用eclipse+jdk1.8搭建Java开发环境(超具体的)
利用eclipse+jdk1.8搭建Java开发环境 转载请声明出处:http://blog.csdn.net/u013067166/article/details/50267003 引言:eclip ...
- Java开发环境的搭建(jdk,eclipse)
一.java 开发环境的搭建 这里主要说的是在windows 环境下怎么配置环境. 1.首先安装JDK java的sdk简称JDK ,去其官方网站下载最近的JDK即可. http://www.orac ...
随机推荐
- 鸟哥的Linux私房菜之学习shell script
运行程序的时候一般都是创建一个子程序来执行,所以子程序中的变量什么的在当前的shell下没法使用,但是如果使用source来执行就可以在当前shell下执行程序 shift 1 去掉第一个参数,后面接 ...
- Java常用快捷键
Ctrl+M 最大化当前的Edit或View (再按则反之) Crl+k:查找下一处 Ctrl+Shift+O 导包 Ctrl+W 关闭当前EditerCtrl+shift+W 关闭所有当前页 Ctr ...
- 【python cookbook】【数据结构与算法】14.对不原生支持比较操作的对象排序
问题:想在同一个类的实例之间做排序,但是它们并不原生支持比较操作. 解决方案:使用内建的sorted()函数可接受一个用来传递可调用对象的参数key,sorted利用该可调用对象返回的待排序对象中的某 ...
- andoid下的股票行情开发
1.信息类 public class SinaStockInfo { /** * Sina股票数据接口 以大秦铁路(股票代码:601006)为例,如果要获取它的最新行情,只需访问新浪的股票数据 * 接 ...
- Memcached 分布式缓存实现原理
摘要 在高并发环境下,大量的读.写请求涌向数据库,此时磁盘IO将成为瓶颈,从而导致过高的响应延迟,因此缓存应运而生.无论是单机缓存还是分布式缓存都有其适应场景和优缺点,当今存在的缓存产品也是数不胜数, ...
- 【转载】perl接受传递参数的方法
#! /usr/bin/perl use Getopt::Std;use warnings;use strict; sub read_from_sh($) { my $file = shift; my ...
- day3 python 集合 文件
字典是无序的,列表是有序的 a='zhangsan' print (a[1]) a[2]=222 #字符串不能赋值 集合(set):把不同的元素组成一起形成集合 info=[1,2,34,5,6,7] ...
- java中+的使用
在java中+可以做为连接符和运算符两种使用方法 例如: 代码: int X=100; int Y=200; System.out.println("X+Y=" + (X + ...
- 使用KNN对MNIST数据集进行实验
由于KNN的计算量太大,还没有使用KD-tree进行优化,所以对于60000训练集,10000测试集的数据计算比较慢.这里只是想测试观察一下KNN的效果而已,不调参. K选择之前看过貌似最好不要超过2 ...
- pip命令使用国内pypi镜像源加速在线安装
参考:http://www.cnblogs.com/yudar/p/4444097.html 用easy_install和pip来安装第三方库很方便 它们的原理其实就是从Python的官方源pypi. ...