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

上一次,使用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
)
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 个人学习批处理的初衷来源于实际工作;在某个迭代版本有个BS(安卓手游模拟器)大需求,从而在测试过程中就重复涉及到...
    Luckykailiu阅读 4,824评论 0 11
  • 批处理符号简介 回显屏蔽 @ 重定向1 >与>> 重定向2 < 管道符号 | 转义符 ^ 逻辑命令符包括:&、&&...
    wyude阅读 3,058评论 2 5
  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 174,614评论 25 709
  • 我有一堆小txt文本,想放在手机上阅读,但是在阅读器中切换文件比较烦,就写了个批处理把他们合并在一起成一个txt文...
    赵海洋阅读 4,806评论 0 1
  • 文/木清水 这世界上有70多亿人,而我们的视线大多被少数闪耀的成功人士所占据。这个政府首脑,娱乐明星,那个创业精英...
    木清水阅读 398评论 0 3