0

誰かがコードで私を助けることができます....私はその中に「本」という名前のメインフォルダーを持っています。次のように500個のサブフォルダーがあります

book/page1/Image/image 2.jpg
book/page2/Image/image 2.jpg
book/page3/Image/image 2.jpg
book/page4/Image/image 2.jpg
book/page5/Image/image 2.jpg
.
.
.

画像の名前を次のように変更したい:

book/page1/Image/1.jpg
book/page2/Image/2.jpg
book/page3/Image/3.jpg
book/page4/Image/4.jpg
book/page5/Image/5.jpg
.
.
.

助けてください

4

3 に答える 3

1
@ECHO OFF
SETLOCAL
FOR /f "tokens=1*delims=[]" %%i IN (
 'dir /s /b /a-d "u:\book\image 2.jpg"^|find /n /v ""'
) DO ECHO REN "%%j" image%%i.jpg

これにより、必要な名前変更が報告されるはずです。

ECHO確認後、実際に名前変更を実行するには、最後の行からキーワードを削除します。

于 2013-06-16T06:26:29.083 に答える
0

これをbookフォルダのbatファイルに入れてください。もちろん、このようなことを試みる前に、ブック フォルダ全体のコピーを作成する必要があります。

@echo off
for /f "delims=page" %%a in ('DIR /ad /b') do rename "page%%a\Image\Image2.jpg" "%%a.jpg"
于 2013-06-16T00:08:41.463 に答える
0

以下のバッチ ファイルは、ファイルの名前をフォルダー名に変更し、そのpage部分を削除します。

@echo off
setlocal EnableDelayedExpansion

cd \book
for /D %%a in (*) do (
   set folder=%%a
   ren "%%a\Image\image 2.jpg" "!folder:page=!.jpg"
)

以下のバッチ ファイルは、フォルダー名を無視して、ファイルの名前を 2 桁の連番に変更します。

@echo off
setlocal EnableDelayedExpansion

cd \book
set number=100
for /D %%a in (*) do (
   set /A number+=1
   ren "%%a\Image\image 2.jpg" "!number:~1!.jpg"
)

数字を 1 桁だけにする場合は、次のように番号の割り当てを変更しますset number=10

于 2013-06-16T06:16:06.647 に答える