3

1つのフォルダーに35枚の画像があり、その名前はimagesetです。各ファイルのコピーを 10 個作成し、順番に名前を変更したいと考えています。画像を 1 つずつ実行する準備ができています。img_01 という名前の画像が 1 つあります。したがって、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

あなたが説明していることから、フォルダー内のすべての画像を反復処理してから、それぞれのコピーを 10 個作成したいようです。次のようにする必要があります。

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 に答える