转载:https://www.cnblogs.com/maixiaodou/p/7364094.html#commentform
發現转载寫的不能運行,所以下面的我做了更改,可以運行的
系统:win7
环境:需要配置好jdk的环境变量
需求:每次开机,用bat批处理执行将一个位于D:\workspace\console目录底下的console.txt重命名的java文件
拿到需求,我们可以分解:
1:编写java操作文件类
2:编写.bat执行java文件
3:配置系统的计划任务
一、编写java操作文件类
用java操作文件,这个比较简单,就不多阐述了,这里要注意的是,bat操作java文件时,不允许出现中文字符的注释
測試java類,寫完后,把它打包成jar
import java.io.File;
import java.text.SimpleDateFormat;
import java.util.Date;
public class CreateTomcatConsoleFile {
public static void main(String[] args) {
// TODO Auto-generated method stub
File oldfile = new File("C:\\sock\\console.txt");
if(oldfile.exists()&&oldfile.isFile()){
SimpleDateFormat df = new SimpleDateFormat("yyyyMMdd_HHmmss");
String time = df.format(new Date());
File newfile = new File("C:\\sock\\console_"+time+".txt");
oldfile.renameTo(newfile);
}
}
}
二、编写.bat执行java文件
先创建一个普通的.txt文件,用记事本打开,输入我们要执行的操作,这里的操作,可以现在dos命令行里测试一遍,可以运行后粘贴到记事本里。
其中,%CLASSPATH%、%PATH%、%JAVA_HOME%要根据自己的环境变量来设置;Demo.jar是打包后的jar名稱,我的jar文件放在C:\sock目录底下,所以需要引导到该目录
@echo off
set CLASSPATH=%CLASSPATH%
set PATH=%PATH%
set JAVA_HOME=%JAVA_HOME%
c:
cd C:\sock
start javaw -jar Demo.jar
exit
@pause
文件都已经编写完了,我的目录是这样的
點擊bat可以運行。
也可以通過cmd運行(
c:
cd C:\sock
start javaw -jar Demo.jar
),
三、配置系统的计划任务
打开win7左下角的菜单栏,在搜索框内输入“任务计划”
(如果查詢找不到可以參考:https://jingyan.baidu.com/album/a65957f430a60624e67f9bd7.html?picindex=2)
打开任务计划后,在右边“操作”中找到“创建任务”
名称和描述随意输入,选择用户登录时运行,并且配置系统选择win7
切换选项卡到触发器,新建触发器,选择登录时,所有用户,然后确定
切换选项卡到“操作”,新建,操作选择启动程序,程序或者脚本填我们前面写好的.bat文件路径,然后确定
后面两个选项卡“条件”和“设置”是更加细粒度的条件设置,其中,在设置中,“允许按需允许任务”要打勾,方便测试,
其他的可以根据需求去设置,到这里已经满足我们的需求了,就不往下做了
到主面板就可以看到我们新增的计划了
注意:360或者安全管家记得放行,因为这些安全程序都提示拦截,记得放行,不要禁用
四、测试
找到右边的“所选项”,选择我们刚刚新增的任务,点击“运行”
至此,用系统的任务计划执行.bat文件操作java文件以及实现了
自己的bat更改:
真正最正确的用BAT运行JAVA不显示DOS窗口(连闪一下都不闪)
java -jar xxx.jar 更改為 start javaw -jar xxx.jar
那就是在批处理第一行加上@echo off
解释一下
echo off
表示在此语句后所有运行的命令都不显示命令行本身
@ 表示运行时不显示本命令行