
另一种情况比较简单:如果你描述的本地和远程程序是有建立连接的话,给你写了一个bat,你可以试一下,这个bat是用本地netstat命令判数禅断是否有对应桐好地址端口连接到本地,达到判断远程程序是否启动的目的。
@echo off
set /p var=请输入目标地址端口薯轮尘
:a
netstat -an | findstr "%var%"
(if %ERRORLEVEL% == 0 (start /d "C:\Users\by\Desktop\20160122" grab.exe) else echo 无进程&&goto a)
pause
目标地址端口处时bat运行后在bat运行窗口填你远程程序所在的IP地址及端口,格式为192.168.1.1:12345
start /d "C:\Users\by\Desktop\20160122" grab.exe引号内是程序的绝对路径,根据自己需要修改,引号后面是程序名,根据自己需要修改,
纯手打,望采纳
你是打算一直开着BAT 然后,程序打开或者关闭就写入吗?
看下面这个行不。格式不要错哦,有图。
@echo off
color df
mode con: cols=60 lines=20
::以下写进程名
set course_1="360se.exe"
::-----------------------------
for /l %%a in (1,1,6) do echo\
echo 进程监听中...
echo\
echo 进程为: %course_1%
::course_1 初始
TaskList|Findstr /i %course_1%>Nul
if %errorLevel% equ 0 (
set number1=0
echo 时间:%date% %time% 进程名:%course_1% 状态:开启>>c:\a.txt
) else (
set number1=1
echo 时间:%date% %time% 进程名:%course_1% 状态:关闭>>c:\a.txt
)
::监听
:monitor
title ##进程监听## %date% %time%
::监听course_1
if %number1% equ 0 (
TaskList|Findstr /i %course_1%>Nul
if %errorLevel% equ 1 (
set number1=1
echo 进程名:%course_1% 关闭
echo 时间:%date% %time% 进程名:%course_1% 状态:关闭>>c:\a.txt
)
)
if %number1% equ 1 (
TaskList|Findstr /i %course_1%>Nul
if %errorLevel% equ 0 (
set number1=0
echo 进程名:%course_1% 开启
echo 时间:%date% %time% 进程名:%course_1% 状态:开启>>c:\a.txt
)
)
goto monitor@echo off & title 进程监测 By 依梦琴瑶
color 0a & mode 35,5
::设置进程名
set Proc=svchost.exe
::设置进程总数
set Number=5
::开始监测
:Loop
cls &毁冲 echo 进程监测中。。
set Num=0
for /f "delims=" %%a in ('tasklist ^| findstr /i "%Proc%" 2^>nul') do set /a Num+=1
if %Num% lss %Number% (
echo, & color 0c
echo 进程缺失,当前只有 %Num% 个进程。
echo 请在重启相关进程后,按任意键继续。
pause >nul & color 0a
带清 goto Loop
) else (
echo, & echo 进程一切正常。
)
::等待10秒后继续监测
ping 127.0.0.1 -n 蠢余前"10">nul
goto Loop
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)