@echo off
setlocal enabledelayedexpansion
set "ScriptName=%~nx0"
for %%F in (*) do (
if not "%%~aF"=="d" (
if not "%%~nxF"=="!ScriptName!" (
if not "%%~xF"==".bat" (
for /d %%D in (*) do (
copy "%%F" "%%D\"
)
)
)
)
)
endlocal