[BAT-15]批量将子文件夹里的文件移动到上一级.bat
@echo off
setlocal enabledelayedexpansion

set "batPath=%~f0"

echo 即将开始处理文件...
echo 脚本路径:%batPath%
pause

for /r %%f in (*) do (
    if "%%f" equ "!batPath!" (
        echo 已跳过脚本自身:%%f
        echo.
    ) else (
        set "fileDir=%%~dpf"
        
        for %%d in ("!fileDir!..") do set "targetDir=%%~fd\"
        
        set "fileDir=!fileDir:\\=\!"
        set "targetDir=!targetDir:\\=\!"
        
        if "!fileDir!" neq "!targetDir!" (
            echo 移动:%%f
            echo 到:!targetDir!
            move /Y "%%f" "!targetDir!"
            echo.
        ) else (
            echo 已在目标目录,不移动:%%f
            echo.
        )
    )
)

echo 所有文件处理完成!按任意键退出...
pause
返回视频教程