@echo off & setlocal enabledelayedexpansion
set Dir_A=C:\Release\ftp
set Dir_B=up
set Dir_C=bat
set Files=1.jpg,2.jpg,3.jpg
cd /d "%Dir%"
del a.* 2>nul
:Loop
cls & echo 正在循环检测中,请耐心等待。。。
for /f "delims=" %%a in ('dir /ad/b %Dir_B%\*') do (
set "Num=0" & set "AllNum="
for %%b in (%Files%) do (
set /a AllNum+=1
if exist "%Dir_B%\%%~a\%%~b" set /a Num+=1
)
if defined AllNum (
if !Num! equ !AllNum! (echo start "执行 %%~a.bat" "%Dir_C%\%%~a.bat")>>a.tmp
)
)
set /a Count+=1
title 已累计执行扫描 %Count% 次。
if not exist a.tmp goto Loop
echo, & echo 发现目标,准备执行脚本,请按任意键开始。
(echo @echo off
echo echo 开始执行相应脚本。
echo cd /d %%~dp0
type a.tmp
echo exit)>a.bat
pause>nul
start /wait "执行脚本" a.bat
del a.* 2>nul
我的脚本相对于另一个网友写的,稍微复杂了点,主要就是多了相关提示语,以及可以自定义路径,检查的文件等设置,自己选用吧!而且绝对有循环检测的。而另一个网友只检测一次。
追问一直提示循环检测 没成功运行 bat呀????
追答不可能吧!我测试过啊!
追问
一直没执行 bat
本回答被网友采纳