/**while(true)*/ log.info("请输入您的选项:\n\t" +
"1.执行单个文件;\n\t" +
"2.执行目录中的多个文件.\n" +
"enter:");
input = scanner.nextLine().trim();
if("exit".equals(input.toLowerCase()))
{
System.exit(0);
}
int i = 0;
try
{
i = Integer.valueOf(input);
}
catch (RuntimeException e)
{}
if(i!=2 && i!=1)
{
log.error("输入有误,请重试!");
continue;
}
switch(i)
{
case 1:
String[] paras = null;
String src = "";
String des = "";
do
{
log.info("请输入需要处理的文件以及目标文件名," +
"使用空格隔开,(如果文件或包含文件的目录名中有空格," +
"请使用双引号括起来作为一个整体)," +
"如在源文件上处理,输入一个即可:");
try
{
paras = Paras.toParas(scanner.nextLine().replace('/', '\\'));
}
catch (RuntimeException e)
{
log.error(e.getMessage());
continue;
}
if(paras.length == 1 && !"".equals(paras[0]))
{
src = des = paras[0];
}
else if(paras.length == 2)
{
src = paras[0];
des = paras[1];
}
else
{
log.error("参数个数不对,请重试");
continue;
}
if(pattern.matcher(src).find() || pattern.matcher(des).find())
{
log.error("名称中包含非法字符,请重试!");
continue;
}
break;
}while(true);
if(_pattern.matcher(src).find() && !_pattern.matcher(des).find())
{
des = src.replace(src.substring(src.lastIndexOf("\\")+1), des);
}
log.info(des);
if(exec.exeFile(src, des))
{
log.info("操作已成功完成.");
runtime.exec("explorer /select,"+des);
break;
}
continue;
case 2:
log.info("请输入需要处理的文件所在目录:");
input = scanner.nextLine().trim();
String _2 = "";
do
{
log.info("是否覆盖源文件?\n\t1.覆盖(直接回车);\n\t2.不覆盖(文件名以_finished作为标记).");
_2 = scanner.nextLine().trim();
}while(!_2.matches("[12]") && _2.length()!=0);
if(exec.exeDir(new File(input), !_2.equals("2")))
{
log.info("操作已成功完成.");
runtime.exec("explorer /n,"+input.replace("/", "\\"));
}
break;
default:
log.error("输入有误,请重试!");
}