bat设置开机自启动

 
@echo off
 
::检测时间间隔,单位:秒
set _interval=5
 
::需要守护的进程名称
set _processName=QtMyDaemon
 
::需要守护的进程启动命令
set _processCmd=QtMyDaemon.exe
::set _processCmd=socket服务端.exe
::需要守护的进程预估启动完毕所需时间,单位:秒
set _processTimeout=1
 
::进程用户名,一般是Administrator 
set _username=adminstrator
 
:LOOP
set /a isAlive=false
::tasklist /FI "username eq %_username%" | find /C "%_processName%" > temp.txt 
tasklist | find /C "%_processName%" > temp.txt
set /p num= < temp.txt
del /F temp.txt
 
if "%num%" == "0" ( 
start %_processCmd% | echo start %_processName% at %time% 
choice /D y /t %_processTimeout% > nul
)
 
if "%num%" NEQ "0" echo %_processName% is running 
choice /D y /t %_interval% >nul
goto LOOP

注:保证某一进程一直启动掉线则重启,类似看门狗软件功能

@echo off
start %cd%QtMyDaemon.exe %启动程序%
setlocal EnableDelayedExpansion 
reg add "HKLMSoftwareMicrosoftWindowsCurrentVersionRun" /v "QtMyDaemon" /t REG_SZ /d "%cd%QtMyDaemon.exe" /f %将程序写进注册表,开机自启动%
echo Register successfully.
pause>nul %>nul的作用是不显示请按任意键继续%

 注:启动QtMyDaemon.exe程序,并将其写入注册表,开机会自动启动。

%若matlab进程存在则重启%

@echo off tasklist
| findstr /i "MATLAB.exe" >nul 2>nul && ( taskkill /f /im MATLAB.exe ) pause start MATLAB.exe echo Execution completion pause

 注:从后台进程中关掉MATLAB.exe程序并重启。

@echo off
set path=%CD%
echo %path%
echo %path%
echo %path%
echo %path%
echo %path%
pause>nul

注:把路径设置成当前批处理文件所在的路径。

原文地址:https://www.cnblogs.com/mathyk/p/9602487.html