@echo off&setlocal enabledelayedexpansionfor /f "delims=" %%i in ('dir/a-d/b/s "D:\a\*.rar"') do (set /a n+=1if !n! leq 100 (move "%%i" "D:\b\"))pause 或者 @echo off&setlocal enabledelayedexpansionfor /r "D:\a" %%i in (*.rar) do (set /a n+=1if !n! leq 100 (move "%%i" "D:\b\"))pause 一开始就是写的移动,但你的思路复制后再删除所以就写了复制+删除.