[BAT-04]提取当前所有文件夹里的文件.bat
@echo off
setlocal EnableDelayedExpansion

set "self=%~n0%~x0"

mkdir all 2>nul

for /r %%i in (*) do (
    echo "%%i" | findstr /i "\\all\\" >nul
    if errorlevel 1 (
        set "file=%%~nxi"
        if "!file!" neq "!self!" (
            echo 正在处理:%%i
            set "fullname=%%~nxi"
            set "name=%%~ni"
            set "ext=%%~xi"
            
            set "dest=all\!fullname!"
            if exist "!dest!" (
                set "found=0"
                for /l %%c in (1,1,1000) do (
                    if !found! equ 0 (
                        set "newdest=all\!name!_%%c!ext!"
                        if not exist "!newdest!" (
                            set "dest=!newdest!"
                            set "found=1"
                        )
                    )
                )
            )
            
            copy "%%i" "!dest!" /y >nul
            echo 已复制到:!dest!
        )
    )
)
echo 处理完成。
pause
返回视频教程