[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

[文件操作] 求助批处理2W+的文本文档按照顺序每50个整理到新建的文件夹

求助各位大神,本人一个文件夹下有2W+的文本文档,现在我想把他们按照顺序每50个整理到一个新建的文件夹当中。就是新建一个名为“001”的文件夹,然后把前50个文本文档移动到这里;再建个“002”的文件夹,然后再把50个移动到这里,依次类推,直到把这个文件夹里的所有文档归类完成。请问各位怎么写出一个批处理能够实现?

回复 10# Batcher


    谢谢管理,好人一生平安

TOP

回复 9# myh17909
  1. @echo off
  2. setlocal enabledelayedexpansion
  3. set m=0
  4. set n=10001
  5. md !n:~-4!
  6. for /f "delims=" %%i in ('dir /b /a-d *.txt') do (
  7.     set /a m+=1
  8.     move /y "%%i" "!n:~-4!"
  9.     if !m! equ 50 (
  10.         set m=0
  11.         set /a n+=1
  12.         md !n:~-4!
  13.     )
  14. )
复制代码
我帮忙写的代码不需要付钱。如果一定要给,请在微信群或QQ群发给大家吧。
【微信公众号、微信群、QQ群】http://bbs.bathome.net/thread-3473-1-1.html
【支持批处理之家,加入VIP会员!】http://bbs.bathome.net/thread-67716-1-1.html

TOP

回复 2# Batcher


    麻烦问一下管理员大神,按照这个贴中我提问的,每50个文本创建一个文件夹,您提供的现有代码中,只能创建到001~999范围的文件夹,要是超过了这个数的话,如1001~2000这个范围的文件夹要创建的话,需要怎样修改?麻烦你解答一下,非常感谢!

TOP

回复 7# Batcher


    完美解决,多谢大神!好人一生平安!

TOP

回复 6# myh17909
  1. @echo off
  2. for /f "tokens=1-3*" %%a in ('dir /b /a-d *.txt') do (
  3.     if not exist "%%c" (
  4.         md "%%c"
  5.     )
  6.     move /y "%%a %%b %%c %%d" "%%c"
  7. )
复制代码
我帮忙写的代码不需要付钱。如果一定要给,请在微信群或QQ群发给大家吧。
【微信公众号、微信群、QQ群】http://bbs.bathome.net/thread-3473-1-1.html
【支持批处理之家,加入VIP会员!】http://bbs.bathome.net/thread-67716-1-1.html

TOP

本帖最后由 myh17909 于 2019-7-6 23:30 编辑

大神,关于文件的格式我给截了图,麻烦你看看,就是包含代数的文本全部归到名为代数的文件夹,包含体育的全部归到体育的文件夹。

TOP

回复 4# myh17909


    完整的文件名称发出来看看
我帮忙写的代码不需要付钱。如果一定要给,请在微信群或QQ群发给大家吧。
【微信公众号、微信群、QQ群】http://bbs.bathome.net/thread-3473-1-1.html
【支持批处理之家,加入VIP会员!】http://bbs.bathome.net/thread-67716-1-1.html

TOP

回复 2# Batcher


    您好版主,麻烦问您一下,还是关于这个TXT文本归类的问题,补充问一下,要是按照文件名里包含的不同关键字归类,要怎么做呢?比如把包含有“刘德华”的按照名称为刘德华的文件夹归成一类,“张学友”的按照名称为张学友的文件夹归成一类,恳请赐教,拜谢了!

TOP

既然要按顺序,那文件名的命名规则必须提供
QQ 33892006

TOP

  1. @echo off
  2. setlocal enabledelayedexpansion
  3. set m=0
  4. set n=1001
  5. md !n:~-3!
  6. for /f "delims=" %%i in ('dir /b /a-d *.txt') do (
  7.     set /a m+=1
  8.     move /y "%%i" "!n:~-3!"
  9.     if !m! equ 50 (
  10.         set m=0
  11.         set /a n+=1
  12.         md !n:~-3!
  13.     )
  14. )
复制代码
2

评分人数

我帮忙写的代码不需要付钱。如果一定要给,请在微信群或QQ群发给大家吧。
【微信公众号、微信群、QQ群】http://bbs.bathome.net/thread-3473-1-1.html
【支持批处理之家,加入VIP会员!】http://bbs.bathome.net/thread-67716-1-1.html

TOP

返回列表