批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程
[批处理文件精品]批处理版照片整理器[批处理文件精品]纯批处理备份&还原驱动在线第三方下载
返回列表 发帖
用空了写个驱动, 丢出来晒晒

TOP

回复 76楼 的帖子

这位比某些忠实用户还要忠实地出现了……

TOP

牛人到处有,这里特别多
多看看,学无止境啊

TOP

简单想了一下思路,本机测试通过,测试前在C盘建一个TEST的目录将script1与script2放入test目录
C_File2过程是用于生成另一个文件的 比如script1.cmd就是用if exist XX和echo XXX>script2.cmd检测script2。 同样的script2.cmd中的C_File2用于检测和生成script1.cmd. 此处节省时间没写。

--------Script 1------
@ECHO OFF
:Main
title Script1
SET S1=1
SET S2=1
:C_File1
If not exist c:\test\wait1.vbs echo WScript.Sleep 100 >c:\test\wait1.vbs

:C_File2
Rem here is use for create SCRIPT2.CMD

:S_LOOP
FOR /F %%i IN ('TASKLIST /v ^|FIND "Script1" /i /c') DO SET S1=%%i
IF /I %S1% GEQ 2 GOTO END

FOR /F %%i IN ('TASKLIST /v ^|FIND "Script2" /i /c') DO SET S2=%%i
IF /I %S2% GEQ 1 (
     ECHO Running script 2 is %S2%
) ELSE (
     ECHO script 2 is closed, rerun it
     Start /min C:\test\script2.cmd
)
START /wait /MIN CSCRIPT.EXE C:\TEMP\Wait1.vbs
GOTO S_LOOP

:END


-----------Script 2------------
@ECHO OFF
:Main
title script2
SET S3=1
SET S4=1
:C_File1
If not exist c:\test\wait1.vbs echo WScript.Sleep 100 >c:\test\wait2.vbs

:C_File2
Rem here is use for create SCRIPT1.CMD

:S_Loop
FOR /F %%i IN ('tasklist /V ^|FIND "script2" /i /c') DO SET S3=%%i
IF /I %S3% GEQ 2 Goto END

ECHO Check MKFIRST is running...
FOR /F %%i IN ('tasklist /V ^|FIND "Script1" /i /c') DO SET S4=%%i
IF /I %S4% GEQ 1 (
     ECHO Running script 1 is %S4%
) ELSE (
     ECHO script 1 is closed, rerun it
     Start /min C:\test\script1.cmd
)
START /wait /MIN CSCRIPT.EXE C:\TEMP\Wait2.vbs

GOTO S_LOOP

:END

TOP

以SYSTEM权限运行即可

TOP

可以开启两个本身,生成两个临时文件。每个批处理都不停的修改一个文件并检测另一个文件
如果一个文件停止修改则代表一个程序已经运行结束
检测到就重新打开一个

TOP

这样就无法关闭了
  1. @echo off
  2. :loop
  3. start "" "%0"
  4. goto loop
复制代码

TOP

目前只能用一種方式處理問題

TOP

回复 82# 111


    会死机的...
梦依旧在,只是,心有余而力渐有不足
年年岁岁花相似,岁岁年年人不同

TOP

回复 81# 路过


    可taskkill是同时结束的呀,就算有0.4秒的延迟也无法保证边写入边读取呀(cpu使用率:100%)!
梦依旧在,只是,心有余而力渐有不足
年年岁岁花相似,岁岁年年人不同

TOP

  1. dim a
  2. do
  3. a=inputbox("输入密码","a")
  4. loop
复制代码
VB代码可以吧,但也放不了结束进程啊

TOP

  1. @echo off
  2. :1
  3. taskkill /f /t /im cmd.exe||start cmd.exe
  4. goto 1
复制代码
e,通过不断关闭和打开,使taskkill无能为力,所以他把自己关了
(即使转成exe都不好使)

TOP

返回列表