怎么创建批处理实现条件判断移动图片文件到另一个文件夹

1、当目标文件夹B无图片文件时将从A文件夹中的(*.jpg或者*.JPG)图片文件移动到B文件夹

2、当A文件夹无图片文件则5秒间隔无限循环判断直到发现图片文件进行移动操作。

3、每次移动2个文件直到无文件可移动

4、当B文件夹无图片文件时再移动2个图片文件。

@echo off & title 移动图片 By 依梦琴瑶
cd /d %~dp0
setlocal enabledelayedexpansion

::设置A目录路径
set A_Dir=A

::设置B目录路径
set B_Dir=B

::设置每次移动的文件数量
set Num=2


if not exist "%B_Dir%\*.jpg" goto MoveJPG
echo "%B_Dir%" 中有 JPG 文件。
goto End

:MoveJPG
call :CheckA
cls & echo 正在从 "%A_Dir%" 中移动 !Num! 个 JPG 文件至 "%B_Dir%" 中。
for %%a in ("%A_Dir%\*.jpg") do (
    set /a Cout+=1
    if !Cout! gtr !Num! goto End
    move "%%~a" "%B_Dir%\"
)

:End
ping 127.0.0.1 -n "3">nul
Exit

:CheckA
cls & echo 正在等待 "%A_Dir%" 中出现 JPG 文件。
if exist "%A_Dir%\*.jpg" goto :eof
ping 127.0.0.1 -n "5">nul
goto CheckA

温馨提示:内容为网友见解,仅供参考
第1个回答  2017-12-30
请把以下批处理存为movejpg.bat,放在a、b文件夹的同级文件夹下,直接运行即可。已在Win10环境下测试通过。
@echo off
@setlocal enabledelayedexpansion
:M
if exist a\*.jpg (
if exist b\*.jpg (
ping -n 5 127.0.0.1 >nul
) else (
for /l %%i in (1,1,2) do (
dir a\*.jpg /s /b>tmp.log
ping -n 1 127.0.0.1 >nul
set /p jpg=<tmp.log
move !jpg! b
)
ping -n 1 127.0.0.1 >nul
del tmp.log
)
) else (
ping -n 5 127.0.0.1 >nul
)
goto M本回答被网友采纳
第2个回答  2017-12-29
真小气,这么长的代码实现在5个财富值。
相似回答