Board logo

标题: [文件操作] 求批处理命令 实现处理后 每个文件夹里只保留20个随机文件 内详有实例 在线等跪谢了 [打印本页]

作者: crownking1983    时间: 2015-10-21 19:15     标题: 求批处理命令 实现处理后 每个文件夹里只保留20个随机文件 内详有实例 在线等跪谢了

比如:有一堆文件夹 ABCDEFG等等,每个文件夹里都有jpg照片50个以上,如——
A文件夹里有jpg文件100个
B文件夹里有jpg文件200个
C文件夹里有jpg文件150个
D文件夹里有jpg文件80个  ……………………

批处理命令双击执行后,
A文件夹里原来的100个文件随机删除剩余20个
B文件夹里原来的200个文件随机删除剩余20个
C文件夹里原来的150个文件随机删除剩余20个
D文件夹里原来的80个文件随机删除剩余20个……………………

也就是批处理后每个文件夹里只保留随机的20个文件 这样的批处理命令该如何写? 跪求急需在线等
作者: pcl_test    时间: 2015-10-21 20:46

  1. @echo off
  2. set a=20
  3. for /d %%a in (*) do (
  4.     pushd "%%a"
  5.     setlocal enabledelayedexpansion
  6.     for %%b in (*.jpg) do (
  7.         set /a n+=1
  8.         set #!random!_!n!=%%b
  9.     )
  10.     if !n! gtr %a% (
  11.         for /f "skip=%a% tokens=1* delims==" %%c in ('set #') do del "%%d"
  12.     )
  13.     endlocal
  14.     popd
  15. )
  16. pause
复制代码

作者: crownking1983    时间: 2015-10-21 23:12

回复 2# pcl_test


    感谢大神啊!真心非常感激您。  另外 如果这个命令引申一步,实现批处理后保留包含每个文件夹内按名称排序的第一个jpg文件及其他随机jpg图片19个的话,这个命令该如何修改呢?
也就是说保留的20个随机jpg文件中,指定保留每个文件夹的按名称排序的第一个jpg。 真心求教!




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