所以,我正在使用JD-GUI来反编译一些没有任何文档的Java类文件。此Java应用程序在Windows Server上运行,并通过具有cmd
文件的taskscheduler运行(我不知道究竟是什么,在这里实习)。
如果有人使用args命令可以帮助我,我会非常感激。剪辑的代码是附加的,所有我想要理解的是 for循环在代码末尾的作用。
public class Main
{
public static void main(String[] args)
{
try
{
List violationList = new ArrayList();
Calendar cal = Calendar.getInstance();
Date inputDate = new Date();
cal.setTime(inputDate);
cal.set(11, 0);
cal.set(12, 0);
cal.set(13, 1);
inputDate = cal.getTime();
SimpleDateFormat dateFormat = new SimpleDateFormat("MM/dd/yy");
for (int ii = 0; ii < args.length; ii++) {
if (args[ii].equals("-date")) {
inputDate = dateFormat.parse(args[(ii + 1)]);
}
}
这是run.cmd
文件以及我找到的Java文件。请注意,最后一行提到.Main
,与%1
和%2
有关。
RUN.CMD
@ECHO OFF
set CP=.;realapplication.jar; commons- logging.jar;msbase.jar;mail.jar;activation.jar;log4j.jar;
set CP=%CP%sqljdbc4.jar;msutil.jar;spring-1.2.6.jar;commons-httpclient-2.0.1.jar;weblogic_8.1.jar;
set CP=%CP%zipfilemanager.jar;kmoscommon.jar;sessionpool.jar;kmosdao.jar;gendao.jar;rowset-1.0.1.jar;
java -classpath "%CP%" com.adnan.Main %1 %2
答案 0 :(得分:2)
这个for循环遍历命令行参数并以-date 16/11/81
的形式搜索一对参数(当然,给定日期只是一个例子)。找到后,它会将第二个参数(在本例中为16/11/81
)解析为java.util.Date
对象,并将其存储在inputDate
变量中。如果省略-date
参数,则将使用今天的日期。