windows计划任务启动bat执行java文件

转载: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
表示在此语句后所有运行的命令都不显示命令行本身
@ 表示运行时不显示本命令行

參考網站:https://www.aliyun.com/jiaocheng/273858.html

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
您可以在 Windows 操作系统中编写一个批处理脚本(.bat 文件),然后使用 Windows 自带的任务计划程序来定时启动该脚本,实现对 Java 进程的监控和拉起。具体步骤如下: 1. 编写批处理脚本 在记事本等文本编辑器中新建一个文件,将以下代码复制进去: ``` @echo off setlocal if not "%1"=="" ( set JAVA_HOME=%1 ) else ( set JAVA_HOME=C:\Program Files\Java\jdk1.8.0_191 ) set CLASSPATH=.;%JAVA_HOME%\lib\tools.jar;%JAVA_HOME%\lib\dt.jar; set PATH=%JAVA_HOME%\bin;%PATH% set MAIN_CLASS=com.example.Main set ARGS= :loop for /f "tokens=1,2" %%a in ('jps -m ^| findstr %MAIN_CLASS%') do ( set PID=%%a set CMD=%%b goto found ) :start echo [%time%] %MAIN_CLASS% is not running, starting... start java %MAIN_CLASS% %ARGS% goto loop :found echo [%time%] %MAIN_CLASS% is running with PID %PID% echo [%time%] %CMD% timeout /t 10 > nul goto loop ``` 其中,`set JAVA_HOME` 指定 Java 的安装路径,`set MAIN_CLASS` 指定要监控的 Java 主类,`set ARGS` 可以指定 Java 程序的运行参数。 2. 设置任务计划程序 按下 Windows+R 键打开运行对话框,输入 `taskschd.msc` 打开任务计划程序。在左侧的面板中,选择“任务计划程序库”,然后在右侧的面板中,点击“创建任务”。 在“常规”选项卡中,输入任务名称和描述,选择“使用最高权限运行”,并勾选“不与用户会话相关”。 在“触发器”选项卡中,点击“新建”,设置计划的触发方式,例如定时启动、开机启动等。 在“操作”选项卡中,点击“新建”,选择要执行程序为批处理脚本文件(.bat),并设置起始路径为批处理文件所在的目录。 在“条件”选项卡中,可以设置任务执行条件,例如只有在电源适配器插入时才执行任务等。 3. 启动任务 完成所有设置后,点击“确定”保存任务。然后在任务计划程序中找到该任务,右键点击“运行”即可手动启动程序。如果一切正常,任务计划程序会按照设置的时间自动启动批处理脚本,对 Java 进程进行监控和拉起。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值