按文件对文件进行分组和“拆分”,并将其复制到文件夹中

时间:2016-04-04 12:24:02

标签: batch-processing

我在目录中有5000多个文件。
我想管理这些文件“拆分”每500个文件,因此第一个包被复制到 folder1 中,其他500个文件的pack2被复制到 folder2 中,依此类推。

我可以使用哪个 .bat 脚本?

1 个答案:

答案 0 :(得分:0)

@ECHO OFF
SETLOCAL ENABLEDELAYEDEXPANSION
SET "sourcedir=U:\sourcedir\t w o"
SET "destdir=U:\destdir"
SET /a destcount=0
SET /a maxcount=5
SET /a filecount=maxcount
FOR /f "delims=" %%a IN (
 'dir /b /a-d "%sourcedir%\*" '
 ) DO (
 SET /a filecount +=1
 IF !filecount! geq %maxcount% (
  SET /a filecount=0
  SET /a destcount +=1
  MD "%destdir%\folder!destcount!"
 )
 ECHO(COPY "%sourcedir%\%%a" "%destdir%\folder!destcount!\"
)

GOTO :EOF

您需要更改sourcedirdestdir的设置以适合您的具体情况。

maxcount设置要分配给组的文件数。

为了测试目的,所需的COPY命令仅为ECHO在您确认命令正确后,将ECHO(COPY更改为COPY以实际复制文件。附加>nul以取消报告消息(例如1 file copied

基本上,每次组完成时,计算传输次数并增加目标目录名,使用delayedexpansion访问计数器的运行时值