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

[文件操作] 求批处理命令 实现处理后 每个文件夹里只保留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个文件 这样的批处理命令该如何写? 跪求急需在线等

回复 2# pcl_test


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

TOP

  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
复制代码

TOP

返回列表