@echo off
setlocal enabledelayedexpansion
REM 设置要复制的文件数量
set num_files=500
REM 获取当前目录
set "current_dir=%cd%"
REM 创建子目录 "1"
mkdir "1"
REM 枚举当前目录下的所有图片文件并将它们存储在一个数组中
set i=0
for %%f in (*.jpg *.jpeg *.png *.bmp *.gif) do (
set /a i+=1
set "file[!i!]=%%f"
)
REM 如果找到的图片文件数量少于要复制的数量,就将要复制的数量设置为实际找到的文件数量
if !i! lss %num_files% set num_files=!i!
REM 随机选择要复制的文件
set /a "count=0"
:copy_files
set /a "index=%random% %% i + 1"
if not defined file[%index%] goto copy_files
set "source_file=!current_dir!\!file[%index%]!"
set "dest_file=!current_dir!\1\!file[%index%]!"
copy "!source_file!" "!dest_file!"
set "file[%index%]="
set /a "count+=1"
if !count! lss %num_files% goto copy_files
echo %num_files% files copied to "1" directory.
windows批处理,在批处理所在的目录内,随机选择500个图片文件,复制到子目录“1”中
最新推荐文章于 2023-04-05 01:41:06 发布