windows 批处理 讲一个文件夹中的多个文件按一定数量依次复制到新的多个文件夹中

一个文件夹里有18203个eml文件,想用windwos 批处理命令把该文件夹下的eml文件按每1500个eml一组复制到新的一个文件夹中,依次生成多个文件夹,本例中,18203个eml文件依次按1500个eml一组分别复制到第1、2、3······12号文件夹中,复制剩余的203个eml到第13号文件夹中。

命令自带的copy指令没有你说的这么复杂的功能,你可以试试robocopy(也是win自带),但是好像也没有你说的这个东西诶,,你可以试试别的方案(这个东西我也不太会用)

温馨提示:答案为网友推荐,仅供参考
第1个回答  2018-06-21
把下面的批处理存为mymove.bat,注意要改一下您的目录位置dest=和src=,为了好处理,我把您的eml文件先拷贝了一遍,然后再往1、2、3……文件夹中移动。这个程序已经在Win10下测试通过了。
@echo off
@setlocal enabledelayedexpansion
@set dest=d:\eml
@set src=c:\eml
@copy %src%\*.eml %dest%\
@set dir=0
@if not exist %dest%\. md eml
:D
@dir %dest%\*.eml>nul
@if %errorlevel%==1 goto X
@set /a dir=dir+1
@md %dest%\%dir%
@set f=0
@md %dest%\%dir%
@for /f "delims=" %%i in ('dir /b %dest%\^*.eml') do (
@move "%dest%\%%i" %dest%\%dir%
@set /a f=f+1
@if !f!==1500 goto D
)
:X
您试试看