我现在写了CreateObject("WScript.Shell").Run "d.bat",0,FALSE一条指令,我想在这前面加一个判断d.bat是否在运行,如果在运行就提示程序正在运行,且不运行d.bat,如何没有运行才执行运行d.bat
bat是解释脚本,所以运行时并不是bat本身在运行,而是它的解释器cmd.exe在运行。您这个思路应该不行。
有一个折衷的办法,就是b.bat在运行开始写一句@echo A>runlog.txt,在结尾在写一句@echo Z>runlog.txt。
您检测的批处理可以循环读取runlog.txt的内容,直接写
@if exist runlog.txt (
@set /p runcheck=<runlog.txt
@if %runcheck%==A (
@echo b.bat在运行
) else (
@echo b.bat未运行
)
) else (
@echo b.bat位运行
)追问
有一个折衷的办法,就是b.bat在运行开始写一句@echo A>runlog.txt,在结尾在写一句@echo Z>runlog.txt。
您检测的批处理可以循环读取runlog.txt的内容,直接写
@if exist runlog.txt (
@set /p runcheck=<runlog.txt
@if %runcheck%==A (
@echo b.bat在运行
) else (
@echo b.bat未运行
)
) else (
@echo b.bat位运行
)追问
那就两端结合起来,您这么试试看。
@if exist runlog.txt (
@set /p runcheck=e:\abc\runlog.txt
@cd /d e:\abc
@copy /y "exc.btf" "ac2\"
@copy /y "ac1\xec.btf"
@start "" "abc.exe"
@ping -n 5 127.0.0.2>nul
@copy /y "ac2\exc.btf"
@echo Z>e:\abc\runlog.txt
:X
温馨提示:答案为网友推荐,仅供参考