找回密码
 注册
搜索
[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
查看: 26016|回复: 4

[文件操作] 求文件随机分发批处理怎么写?

[复制链接]
发表于 2019-4-6 13:50:00 | 显示全部楼层 |阅读模式
例如,文件夹A里面有几万个文件,随机把这些文件,每600个移到新建文件夹1,2,3。。。。这些新建文件夹都建在A文件夹的目录里,一定随机抽取移动,不按照文件名,创建时间这些顺序来移动文件,

不知道我说的清楚不,怎么写呢?求教
发表于 2019-4-6 14:10:32 | 显示全部楼层
  1. @echo off
  2. set info=互助互利,支付宝扫码头像,感谢赞助
  3. rem 有问题,可加QQ956535081及时沟通
  4. title %info%
  5. start mshta VBScript:Execute("msgbox(""%info%""):close")
  6. cd /d "%~dp0"
  7. set "数量=600"
  8. powershell ^
  9.     $files=@(dir^|?{($_ -is [System.IO.FileInfo]) -and ($_.Name -ne '%~nx0')});^
  10.     $n=1;$list=get-random -input $files -count $files.length;^
  11.     for($i=0;$i -lt $list.length;$i++){^
  12.         if(-not (test-path -liter $n)){[void](md $n);};^
  13.         write-host ($list[$i].Name+' --^> '+$n);^
  14.         move -liter $list[$i].Name $n;^
  15.         if((($i+1) %% %数量%) -eq 0){$n++;};^
  16.     }
  17. pause
复制代码
 楼主| 发表于 2019-4-6 14:49:34 | 显示全部楼层
回复 2# zaqmlp


    非常感谢
发表于 2019-4-6 14:51:04 | 显示全部楼层
回复 3# qiqing

嗯,那就赞助下吧
发表于 2019-4-6 20:06:46 | 显示全部楼层
nim语言版。
  1. import os, random, sequtils

  2. const
  3.     source = """D:\gayhub\test\测试a"""
  4.     target = """D:\gayhub\test\测试b"""
  5.     max = 600

  6. var dirs:seq[string] = @[]

  7. for k,p in walkDir(source):
  8.     if k == pcFile:
  9.         dirs.add(p)

  10. randomize()
  11. shuffle(dirs)

  12. var count = 0

  13. if dirs.len > max:
  14.     if dirs.len mod max > 0:
  15.         count = (dirs.len div max) + 1
  16.     else:
  17.         count = dirs.len div max
  18. else:
  19.     count = 1


  20. var dist = dirs.distribute(count, false)

  21. assert dist.len == count

  22. for i, p in dist:
  23.     var path =  target / $(i+1)
  24.     discard existsOrCreateDir(path)
  25.     for f in p:
  26.         moveFile(f,path/extractFilename(f))

复制代码
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|批处理之家 ( 渝ICP备10000708号 )

GMT+8, 2026-3-19 03:56 , Processed in 0.028753 second(s), 8 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表