在Windows中使用批处理文件复制相同的文件

时间:2013-09-04 13:04:57

标签: file batch-file cmd

我在一个文件夹中有35个图像,说它的名字是图像集。我想为每个文件创建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 

1 个答案:

答案 0 :(得分: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"
  )
)