通常为例保证软件的正常进行,都会以监听的形式对目标程序进行存活检测,本文使用bat脚本以守护微信进程为例进行演示。
批处理文件,在DOS和Windows(任意)系统中,.bat文件是可执行文件,由一系列命令构成,其中可以包含对其他程序的调用。这个文件的每一行都是一条DOS命令(大部分时候就好像我们在DOS提示符下执行的命令行一样),你可以使用DOS下的Edit或者Windows的记事本(notepad)等任何文本文件编辑工具创建和修改批处理文件。
脚本代码:
@echo off
:run
:: 标题定义
title sanxingtest
:: 当前路径
set strPath=%~dp0
:: 带绝对路径的文件名
set strFile=%strPath%%date:~0,4%%date:~5,2%%date:~8,2%.log
:: 输出时间到文件
echo [%time%] >>%strFile%
:: 输出计算器的进程信息到文件
:: tasklist -nh -fo csv -fi "IMAGENAME eq WeChat.exe" >>%strFile%
tasklist -fi "IMAGENAME eq WeChat.exe" >>%strFile%
:: 下面是检查进程是否存在,不存在启动当前路径下的脚本文件1.bat
tasklist|find /i "WeChat.exe"
if %errorlevel%==0 (
echo 微信已存在
) else (
echo 微信不存在,启动
start /d"C:/Program Files (x86)/Tencent/WeChat" WeChat.exe
)
:: 定时10秒
choice /t 10 /d y /n >nul
goto run
效果如下:
go start实现:
:start
choice /t 10 /d y /n >nul
tasklist|find /i " WeChat.exe"
if %errorlevel%==0 (
echo 微信已存在
) else (
echo 微信不存在,启动
start /d"C:/Program Files (x86)/Tencent/WeChat" WeChat.exe
)
goto start
解:修改编码格式为
ANSI
@echo off
if "%1"=="h" goto begin
start mshta vbscript:createobject("wscript.shell").run("""%~nx0"" h",0)(window.close)&&exit
:begin
::下面是你的代码。
#!/bin/sh
while true;do
count=`ps -ef|grep java|grep -v grep`
if [ "$?" != "0" ];then
echo "java is running"
else
echo "java is stop..."
break
fi
sleep 10
done
命令代码如下:
@echo off
echo 正在清除系统垃圾文件,请稍等......
del /f /s /q %systemdrive%\*.tmp
del /f /s /q %systemdrive%\*._mp
del /f /s /q %systemdrive%\*.log
del /f /s /q %systemdrive%\*.gid
del /f /s /q %systemdrive%\*.chk
del /f /s /q %systemdrive%\*.old
del /f /s /q %systemdrive%\recycled\*.*
del /f /s /q %windir%\*.bak
del /f /s /q %windir%\prefetch\*.*
rd /s /q %windir%\temp & md %windir%\temp
del /f /q %userprofile%\cookies\*.*
del /f /q %userprofile%\recent\*.*
del /f /s /q "%userprofile%\Local Settings\Temporary Internet Files\*.*"
del /f /s /q "%userprofile%\Local Settings\Temp\*.*"
del /f /s /q "%userprofile%\recent\*.*"
echo 清除系统垃圾文件完成!
pause
@echo off
::判断本地连接赋值a
for /f "tokens=3,4 delims== " %%i in ('ipconfig ^|findstr /r "本"') do echo %%i %%j >DNS.txt
for /f "tokens=1 delims==:" %%d in (DNS.txt) do set a=%%d
echo 请根据实际情况更改下面三行
set slection1=
set/p slection1=请输入IP地址:
netsh interface ip set address name="%a%" source=static addr=%slection1% mask=255.255.255.0
set slection2=
set/p slection2=请输入网关地址:
netsh interface ip set address name="%a%" gateway=%slection2% gwmetric=0
set slection3=
set/p slection3=请输入主dns地址
netsh interface ip set dns name="%a%" source=static addr=%slection3% register=PRIMARY
set slection4=
set/p slection4=请输入备份dns地址
netsh interface ip add dns name="%a%" addr=%slection4%
netsh interface ip set wins name="%a%" source=static addr=none
del DNS.txt
exit 改完IP后可用这个完成本机ARP的绑定:
@echo off
if exist ipconfig.txt del ipconfig.txt
ipconfig /all >ipconfig.txt
if exist phyaddr.txt del phyaddr.txt
find "Physical Address" ipconfig.txt >phyaddr.txt
for /f "skip=2 tokens=12" %%M in (phyaddr.txt) do set Mac=%%M
if exist IPAddr.txt del IPaddr.txt
find "IP Address" ipconfig.txt >IPAddr.txt
for /f "skip=2 tokens=15" %%I in (IPAddr.txt) do set IP=%%I
arp -s %IP% %Mac%
del ipaddr.txt
del ipconfig.txt
del phyaddr.txt
exit
内容如下:
@echo off
set username = %1%
set password = %2%
start java -jar test.jar %username% %password%
color 1F – 设置颜色,1F前面表示背景颜色,后面表示字体颜色,代表颜色如下:
0=黑、1=蓝、2=绿、3=浅绿、4=红、5=紫、6=黄、7=白、8=灰、9=淡蓝、A=淡绿、B=淡浅绿、C=淡红、D=淡紫、E=淡黄、F=亮白
mode con cols=100 lines=60 – 设置窗口大小,cols表示宽度,lines表示高度
点赞 收藏 关注