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

新文件夹为“abc”。
1.代码第10行的数字为需要复制的图片个数;
2.代码第8行可以保证设置的变量随机数名称不会重复;
3.图片扩展名为jpg;
  1. @echo off
  2. md ..\abc
  3. for /f "delims=" %%i in ('dir /b /ad') do (
  4.     setlocal enabledelayedexpansion
  5.     pushd "%%i"
  6.     for /f "delims=" %%j in ('dir /b /a-d *.jpg') do (
  7.         set /a n+=1
  8.         set "_!random!-!n!=%%j"
  9.     )
  10.     set /a n-=3
  11.     for /f "tokens=1* delims==" %%k in ('set _^|more +!n!') do copy "%%l" "..\..\abc\"
  12.     popd
  13.     endlocal
  14. )
  15. move "..\abc"
  16. pause
复制代码
代码未经测试。

TOP

本帖最后由 qixiaobin0715 于 2023-12-11 15:51 编辑

重命名的需求未注意到。
代码中 第2行 为设置复制图片数量:
  1. @echo off
  2. set num=3
  3. md ..\abc
  4. setlocal enabledelayedexpansion
  5. for /f "delims=" %%i in ('dir /b /ad') do (
  6.     setlocal enabledelayedexpansion
  7.     pushd "%%i"
  8.     for /f "delims=" %%j in ('dir /b /a-d *.jpg') do (
  9.         set /a n+=1
  10.         set "_!random!-!n!=%%j"
  11.     )
  12.     set /a n-=num
  13.     for /f "tokens=1* delims==" %%k in ('set _^|more +!n!') do (
  14.         set /a x+=1
  15.         copy "%%l" "..\..\abc\!x!.jpg"
  16.     )
  17.     popd
  18.     endlocal
  19.     set /a x+=num
  20. )
  21. move "..\abc"
  22. pause
复制代码

TOP

返回列表