bat实例:用windows批处理将文件分组

2017-03-21  本文已影响0人  赵海洋

上一次,使用bat来将txt文件给合并起来,而这次又有个小需求要将某目录下的大数量的指定类型文件(比如1w张图片,或者2w个xml)拆分到多个文件夹中。

第一期先实现了个简单的按数量拆分的批处理文件,后面根据需求可以再过滤文件修改时间,文件名等(不过如果需求真的到了那么复杂,可能会换用python来写)。

代码如下

@echo off 
rem 
set usage=Usage:split_folder 源文件夹(可加通配符) 目标文件夹

rem 待拆分的源文件夹
set src=%1%

rem 拆分的目标文件夹
set dest=%2%

rem 检查参数
if {%src%} == {} echo "%usage%" && goto end
if {%dest%} == {} echo "%usage%" && goto end

rem 每一页条数
set page_count=2

rem 起始页码
set cur_page=0

rem 起始页内索引
set index=0

SETLOCAL ENABLEDELAYEDEXPANSION 

rem 循环处理列举出来的文件,如有特殊需求,可改下面的copy语句
for /f "delims=" %%i in ('dir /b /s /a-d %src%') do (
    set /a index = !index! + 1
    set /a cur_page = !index! / %page_count%
    if not exist %dest%\!cur_page! mkdir %dest%\!cur_page!
    
    copy "%%i" "%dest%\!cur_page!\%%~nxi" 
)   

:end
pause
)
上一篇 下一篇

猜你喜欢

热点阅读