`
touchinsert
  • 浏览: 1327870 次
  • 性别: Icon_minigender_1
  • 来自: 北京
文章分类
社区版块
存档分类
最新评论

用java配置并调用Windows的At命令

阅读更多

Windows的At命令完成定期Task计划,也就是Schedule Batch Job。

关于at的使用方法可以查找windows帮助。

class类内调用了本blog里已经介绍的CMDExecute

本代码在WindowsXP内,用at命令定期运行自定义的一个批处理文件databasebackup.bat

批处理文件内容:mysqldump --user=root --password=XXXXX dbname >%1.sql

调用mysql数据库备份命令。 %1表示从命令行传入一个参数作为输出文件名。

程序最后调用的dos命令行是:

at 21:10:00 /every:26,27 d:\databasebackup.bat output

/*
* Created on 2005/07/26
*
* TODO To change the template for this generated file go to
* Window - Preferences - Java - Code Style - Code Templates
*/
import CMDExecute;
import java.io.IOException;

/**
* set schedule bat by at
* @author tyrone
*
*/
public class AtSetting {

private int argslen=1;

private String[] Arguments=null;

private String CMD="";

private String Directory="";

private String Time = "";

private String Weekday = "";

private String Date = "";

private int getArgslen(){
return this.argslen;
}
private String getTime() {
return this.Time;
}
/**
* the format is HH:MM:SS
* @param time
*/
public void setTime(String time) {
this.Time = time;
argslen++;
}

private String getDate() {
return this.Date;
}
//if weekday!="" , date will be omited.
public void setDate(String date) {
if (this.getWeekday()==""){
this.Date = date;
argslen++;
}
}

private String getWeekday() {
return this.Weekday;
}
//weekday={M、T、W、Th、F、S、Su }.
public void setWeekday(String weekday) {
this.Weekday=weekday;
argslen++;
}
/**
* @return Returns the Directory.
*/
private String getDirectory() {
return Directory;
}

/**
* @param Directory The Directory to set.
*/
public void setDirectory(String property1) {
this.Directory = property1;
}

/**
* @return Returns the CMD.
*/
private String getCMD() {
return this.CMD;

}

/**
* @param CMD The CMD to set.
*/
public void setCMD(String property1) {
this.CMD = property1;
argslen++;
}

/**
* @return Returns the Argument.
*/
private String[] getArguments() {
return Arguments;
}

/**
* @param Argument The Argument to set.
*/
public void setArguments(String[] property1) {
this.Arguments = property1;
argslen=argslen+property1.length;
}

/**
* run at command
* @return
*/
public String run() {
if (this.getArgslen()==0){
return "";
}
//organize args
int args=0;
String[] cmd = new String[this.argslen];
cmd[args]="at";
if (this.getTime()==""){
return "no time set";
}else{
args++;
cmd[args]=this.getTime();
}
if (this.getWeekday()!=""){
args++;
cmd[args]="/every:"+this.getWeekday();
}else{
if (this.getDate()!=""){
args++;
cmd[args]="/every:"+this.getDate();
}
}
String dir=this.getDirectory();
if (dir!=""){
if (!dir.endsWith("\\")){
dir=dir +"\\";
}
if (this.getCMD()==""){
return "no command set";
}else{
args++;
cmd[args]=dir+this.getCMD();
}
}
if (this.getArguments()!=null){
for (int i=0;i<this.getArguments().length;i++){
cmd[args+1+i]=this.getArguments()[i];
}
}

String result = "";
CMDExecute exec = new CMDExecute();
try {
exec.run(cmd, null);
} catch (IOException ex) {
ex.printStackTrace();
}
return result;
}

public static void main(String[] args){
//mysql backup
AtSetting at=new AtSetting();
at.setCMD("databasebackup.bat");
at.setDirectory("d:\\");
at.setArguments(args);
at.setTime("21:10:00");
//at.setWeekday("T");
at.setDate("26,27");
String result=at.run();
System.out.println(result);
}

}

分享到:
评论

相关推荐

    php+java的配置方法总结

    本文将详细介绍如何在PHP环境中配置并使用Java组件,这对于那些希望利用这两种语言各自优势的开发者来说非常有用。下面将通过几个步骤来指导你完成这一配置过程。 #### 二、环境准备 1. **操作系统:** Windows ...

    java 实现短信猫发短信代码

    3. **win32com.dll**:这个文件是Windows操作系统上的一个动态链接库,可能用于辅助Java程序调用Windows API函数,尤其是与硬件交互时,如设置串口参数或者调用GSM Modem的AT命令。 4. **Sender.java**:这是Java源...

    java开源包1

    JCaptcha4Struts2 是一个 Struts2的插件,用来增加验证码的支持,使用时只需要用一个 JSP 标签 (&lt;jcaptcha:image label="Type the text "/&gt; ) 即可,直接在 struts.xml 中进行配置,使用强大的 JCaptcha来生成验证码...

    windows环境下GVIM的配置

    本篇文章将详细讲解如何在Windows上配置GVIM,使其更适合进行程序开发,特别是针对C++或Java等语言。 首先,我们需要下载并安装GVIM。官方的SourceForge网站提供最新的GVIM版本。安装过程中,确保勾选"Add GVIM to ...

    java开源包8

    JCaptcha4Struts2 是一个 Struts2的插件,用来增加验证码的支持,使用时只需要用一个 JSP 标签 (&lt;jcaptcha:image label="Type the text "/&gt; ) 即可,直接在 struts.xml 中进行配置,使用强大的 JCaptcha来生成验证码...

    短信猫java二次开发代码

    在Java环境中,通过JNI(Java Native Interface)或者使用第三方库,可以创建一个Java层来调用DLL(动态链接库),进而执行AT指令。 2. **GPRS MODEM**: GPRS(General Packet Radio Service)是一种移动通信技术...

    java开源包6

    JCaptcha4Struts2 是一个 Struts2的插件,用来增加验证码的支持,使用时只需要用一个 JSP 标签 (&lt;jcaptcha:image label="Type the text "/&gt; ) 即可,直接在 struts.xml 中进行配置,使用强大的 JCaptcha来生成验证码...

    java开源包9

    JCaptcha4Struts2 是一个 Struts2的插件,用来增加验证码的支持,使用时只需要用一个 JSP 标签 (&lt;jcaptcha:image label="Type the text "/&gt; ) 即可,直接在 struts.xml 中进行配置,使用强大的 JCaptcha来生成验证码...

    java开源包4

    JCaptcha4Struts2 是一个 Struts2的插件,用来增加验证码的支持,使用时只需要用一个 JSP 标签 (&lt;jcaptcha:image label="Type the text "/&gt; ) 即可,直接在 struts.xml 中进行配置,使用强大的 JCaptcha来生成验证码...

    java开源包101

    JCaptcha4Struts2 是一个 Struts2的插件,用来增加验证码的支持,使用时只需要用一个 JSP 标签 (&lt;jcaptcha:image label="Type the text "/&gt; ) 即可,直接在 struts.xml 中进行配置,使用强大的 JCaptcha来生成验证码...

    java开源包5

    JCaptcha4Struts2 是一个 Struts2的插件,用来增加验证码的支持,使用时只需要用一个 JSP 标签 (&lt;jcaptcha:image label="Type the text "/&gt; ) 即可,直接在 struts.xml 中进行配置,使用强大的 JCaptcha来生成验证码...

    java开源包10

    JCaptcha4Struts2 是一个 Struts2的插件,用来增加验证码的支持,使用时只需要用一个 JSP 标签 (&lt;jcaptcha:image label="Type the text "/&gt; ) 即可,直接在 struts.xml 中进行配置,使用强大的 JCaptcha来生成验证码...

    java开源包3

    JCaptcha4Struts2 是一个 Struts2的插件,用来增加验证码的支持,使用时只需要用一个 JSP 标签 (&lt;jcaptcha:image label="Type the text "/&gt; ) 即可,直接在 struts.xml 中进行配置,使用强大的 JCaptcha来生成验证码...

    Java资源包01

    JCaptcha4Struts2 是一个 Struts2的插件,用来增加验证码的支持,使用时只需要用一个 JSP 标签 (&lt;jcaptcha:image label="Type the text "/&gt; ) 即可,直接在 struts.xml 中进行配置,使用强大的 JCaptcha来生成验证码...

    JAVA上百实例源码以及开源项目源代码

    在有状态SessionBean中,用累加器,以对话状态存储起来,创建EJB对象,并将当前的计数器初始化,调用每一个EJB对象的count()方法,保证Bean正常被激活和钝化,EJB对象是用完毕,从内存中清除…… Java Socket 聊天...

    java短信开发,短信接口

    在短信收发功能中,发送短信主要涉及到AT命令的使用。AT命令是GSM通信标准中定义的一系列控制指令,用于与GSM模块交互。通过发送特定的AT命令,可以设置短信参数,如短信中心号码,然后使用AT+CMGS命令发送短信内容...

    XP cmd常用 命令

    * DOSKEY:编辑命令行、调用 Windows 命令并创建宏。 * ECHO:显示消息,或将命令回显打开或关上。 * ENDLOCAL:结束批文件中环境更改的本地化。 * EXIT:退出 CMD.EXE 程序(命令解释程序)。 * FC:比较两个或两套...

    java通过手机COM发短信采用SMSLib JAR包及说明

    通过Java的串行端口API,开发者可以设置波特率、数据位、校验位和停止位,从而与手机建立连接并发送AT命令。 在使用这些库进行短信发送之前,你需要确保硬件设备(如手机或GSM模块)正确连接到电脑的COM端口,并且...

    java开源包2

    JCaptcha4Struts2 是一个 Struts2的插件,用来增加验证码的支持,使用时只需要用一个 JSP 标签 (&lt;jcaptcha:image label="Type the text "/&gt; ) 即可,直接在 struts.xml 中进行配置,使用强大的 JCaptcha来生成验证码...

    java开源包11

    JCaptcha4Struts2 是一个 Struts2的插件,用来增加验证码的支持,使用时只需要用一个 JSP 标签 (&lt;jcaptcha:image label="Type the text "/&gt; ) 即可,直接在 struts.xml 中进行配置,使用强大的 JCaptcha来生成验证码...

Global site tag (gtag.js) - Google Analytics