0

有人可以帮我写代码....我有一个名为“book”的主文件夹,里面有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

下面的批处理文件将文件重命名为文件夹名称,删除page部分:

@echo off
setlocal EnableDelayedExpansion

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

下面的批处理文件将文件重命名为连续的两位数,而不考虑文件夹名称:

@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"
)

如果您希望数字只有一位,请通过以下方式更改数字分配:set number=10

于 2013-06-16T06:16:06.647 回答
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 回答