Batch file 批处理文件,将复制的文件重命名为原始文件夹名称和内容
使用以下方法将随机图像文件从一个包含1000多个子文件夹的文件夹复制到另一个文件夹中(这非常有效): 现在,我希望将新文件夹中复制的每个文件重命名为其来源的子文件夹,并在名称中列出该子文件夹中图像文件和视频文件的数量 类似这样:“子文件夹名(250+10).jpg”Batch file 批处理文件,将复制的文件重命名为原始文件夹名称和内容,batch-file,Batch File,使用以下方法将随机图像文件从一个包含1000多个子文件夹的文件夹复制到另一个文件夹中(这非常有效): 现在,我希望将新文件夹中复制的每个文件重命名为其来源的子文件夹,并在名称中列出该子文件夹中图像文件和视频文件的数量 类似这样:“子文件夹名(250+10).jpg” 250=原始子文件夹中的图像文件 10=原始子文件夹中的视频文件 这甚至可以成批实现吗?答案是肯定的,尽管我认为如果不是绝对必要的话,在文件名中同时使用空格和括号是愚蠢的。@Compo我很乐意使用您建议的任何其他形式 @echo
- 250=原始子文件夹中的图像文件
- 10=原始子文件夹中的视频文件
这甚至可以成批实现吗?答案是肯定的,尽管我认为如果不是绝对必要的话,在文件名中同时使用空格和括号是愚蠢的。@Compo我很乐意使用您建议的任何其他形式
@echo off
setlocal EnableDelayedExpansion
cd E:\"New folder"
set t=0
for /d %%i in (*) do (
cd "%%i"
set /A t+=1
set n[!t!]=0
for %%f in (*.jpeg *.jpg *.gif *.bmp *.png) do (
set /A n[!t!]+=1
set "file[!n!]=%%f"
)
set /A "rand=(n[!t!]*%random%)/32768+1"
copy "!file[%rand%]!" E:\samples\"New folder"
cd..
)
pause