3

我在一个文件夹中有 35 张图片,说它的名字是 imageset。我想为每个文件创建 10 个副本并按顺序重命名。我已经准备好一张一张的照了。就像有一个名为 img_01 的图像。因此,当我创建 10 个副本时,图像的名称将类似于 img_01,img_02,img_03 ... ... img_10 。我怎样才能做到这一点?我尝试使用此代码。但它不起作用。我实际上错过了什么?

@echo off
setlocal enableDelayedExpansion
SET count=10

SET filename=img_
SET start=1
SET extension=.jpg


SET source=%filename%%start%%extension%

FOR /L %%i IN (0, 1, %count%) DO (
  SET /a number=start+%%i

  SET destination=%filename%!number!%extension%
  echo !destination!

  REM ECHO %destination%
  COPY %source% %destination%
)

PAUSE 
4

1 回答 1

4

根据您的解释,您似乎想要遍历文件夹中的所有图像,然后为每个图像创建十个副本。以下应该做到这一点:

setlocal enabledelayedexpansion
set count=10
for %%F in (*.jpg) do (
  for /l %%i in (1, 1, %count%) do (
    set num=0%%i
    set num=!num:~-2!
    copy "%%F" "%%~nF_!num!%%~xF"
  )
)
于 2013-09-04T13:09:59.370 回答