Board logo

标题: [文件操作] [已解决]批处理如何将多个文件按指定数量分别移动到新的文件夹里? [打印本页]

作者: crownking1983    时间: 2016-6-12 22:27     标题: [已解决]批处理如何将多个文件按指定数量分别移动到新的文件夹里?

本帖最后由 pcl_test 于 2016-6-13 09:07 编辑

文件夹里有3万多个文件,怎样将这些文件按文件名顺序每200个放到一个子文件夹?
子文件夹名就按001 002 003 004顺延下来即可。
最后不足200个的也湊一堆儿新建最后一个子文件夹放进去
作者: 再世情緣    时间: 2016-6-13 00:34

本帖最后由 再世情緣 于 2016-6-13 01:11 编辑
  1. @echo off &color 0a &setlocal enabledelayedexpansion
  2. pushd "%cd%"
  3. set /a "i=0"
  4. for /f "delims=" %%a in ('dir /b /a -d /o n "*.*" 2^>nul') do (
  5. if "#%%~fa#" NEQ "#%~f0#" (
  6. set /a "j=i/200+1"
  7. set "j=000!j!" && set "j=!j:~-3!"
  8. mkdir !j! >nul 2>nul
  9. echo.移动 %%~nxa -^> !j!\
  10. move "%%~fa" "!j!\" >nul 2>nul
  11. set /a "i+=1"
  12. )
  13. )
  14. pause.
  15. call exit
复制代码
新人练习,可能代码不是很简练。。。
直接把这个批处理放到那个有3W个文件的文件夹里运行就好。。。他并不会把自身算进去。。。
作者: crownking1983    时间: 2016-6-13 01:59

回复 2# 再世情緣


    绝对完美!!!超级大神!




欢迎光临 批处理之家 (http://bbs.bathome.net/) Powered by Discuz! 7.2