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组件,这对于那些希望利用这两种语言各自优势的开发者来说非常有用。下面将通过几个步骤来指导你完成这一配置过程。 #### 二、环境准备 1. **操作系统:** Windows ...
3. **win32com.dll**:这个文件是Windows操作系统上的一个动态链接库,可能用于辅助Java程序调用Windows API函数,尤其是与硬件交互时,如设置串口参数或者调用GSM Modem的AT命令。 4. **Sender.java**:这是Java源...
JCaptcha4Struts2 是一个 Struts2的插件,用来增加验证码的支持,使用时只需要用一个 JSP 标签 (<jcaptcha:image label="Type the text "/> ) 即可,直接在 struts.xml 中进行配置,使用强大的 JCaptcha来生成验证码...
本篇文章将详细讲解如何在Windows上配置GVIM,使其更适合进行程序开发,特别是针对C++或Java等语言。 首先,我们需要下载并安装GVIM。官方的SourceForge网站提供最新的GVIM版本。安装过程中,确保勾选"Add GVIM to ...
JCaptcha4Struts2 是一个 Struts2的插件,用来增加验证码的支持,使用时只需要用一个 JSP 标签 (<jcaptcha:image label="Type the text "/> ) 即可,直接在 struts.xml 中进行配置,使用强大的 JCaptcha来生成验证码...
在Java环境中,通过JNI(Java Native Interface)或者使用第三方库,可以创建一个Java层来调用DLL(动态链接库),进而执行AT指令。 2. **GPRS MODEM**: GPRS(General Packet Radio Service)是一种移动通信技术...
JCaptcha4Struts2 是一个 Struts2的插件,用来增加验证码的支持,使用时只需要用一个 JSP 标签 (<jcaptcha:image label="Type the text "/> ) 即可,直接在 struts.xml 中进行配置,使用强大的 JCaptcha来生成验证码...
JCaptcha4Struts2 是一个 Struts2的插件,用来增加验证码的支持,使用时只需要用一个 JSP 标签 (<jcaptcha:image label="Type the text "/> ) 即可,直接在 struts.xml 中进行配置,使用强大的 JCaptcha来生成验证码...
JCaptcha4Struts2 是一个 Struts2的插件,用来增加验证码的支持,使用时只需要用一个 JSP 标签 (<jcaptcha:image label="Type the text "/> ) 即可,直接在 struts.xml 中进行配置,使用强大的 JCaptcha来生成验证码...
JCaptcha4Struts2 是一个 Struts2的插件,用来增加验证码的支持,使用时只需要用一个 JSP 标签 (<jcaptcha:image label="Type the text "/> ) 即可,直接在 struts.xml 中进行配置,使用强大的 JCaptcha来生成验证码...
JCaptcha4Struts2 是一个 Struts2的插件,用来增加验证码的支持,使用时只需要用一个 JSP 标签 (<jcaptcha:image label="Type the text "/> ) 即可,直接在 struts.xml 中进行配置,使用强大的 JCaptcha来生成验证码...
JCaptcha4Struts2 是一个 Struts2的插件,用来增加验证码的支持,使用时只需要用一个 JSP 标签 (<jcaptcha:image label="Type the text "/> ) 即可,直接在 struts.xml 中进行配置,使用强大的 JCaptcha来生成验证码...
JCaptcha4Struts2 是一个 Struts2的插件,用来增加验证码的支持,使用时只需要用一个 JSP 标签 (<jcaptcha:image label="Type the text "/> ) 即可,直接在 struts.xml 中进行配置,使用强大的 JCaptcha来生成验证码...
JCaptcha4Struts2 是一个 Struts2的插件,用来增加验证码的支持,使用时只需要用一个 JSP 标签 (<jcaptcha:image label="Type the text "/> ) 即可,直接在 struts.xml 中进行配置,使用强大的 JCaptcha来生成验证码...
在有状态SessionBean中,用累加器,以对话状态存储起来,创建EJB对象,并将当前的计数器初始化,调用每一个EJB对象的count()方法,保证Bean正常被激活和钝化,EJB对象是用完毕,从内存中清除…… Java Socket 聊天...
在短信收发功能中,发送短信主要涉及到AT命令的使用。AT命令是GSM通信标准中定义的一系列控制指令,用于与GSM模块交互。通过发送特定的AT命令,可以设置短信参数,如短信中心号码,然后使用AT+CMGS命令发送短信内容...
* DOSKEY:编辑命令行、调用 Windows 命令并创建宏。 * ECHO:显示消息,或将命令回显打开或关上。 * ENDLOCAL:结束批文件中环境更改的本地化。 * EXIT:退出 CMD.EXE 程序(命令解释程序)。 * FC:比较两个或两套...
通过Java的串行端口API,开发者可以设置波特率、数据位、校验位和停止位,从而与手机建立连接并发送AT命令。 在使用这些库进行短信发送之前,你需要确保硬件设备(如手机或GSM模块)正确连接到电脑的COM端口,并且...
JCaptcha4Struts2 是一个 Struts2的插件,用来增加验证码的支持,使用时只需要用一个 JSP 标签 (<jcaptcha:image label="Type the text "/> ) 即可,直接在 struts.xml 中进行配置,使用强大的 JCaptcha来生成验证码...
JCaptcha4Struts2 是一个 Struts2的插件,用来增加验证码的支持,使用时只需要用一个 JSP 标签 (<jcaptcha:image label="Type the text "/> ) 即可,直接在 struts.xml 中进行配置,使用强大的 JCaptcha来生成验证码...