繁体   English   中英

重命名子目录中的文件

[英]Renaming files within sub directories

有人可以帮我提供代码吗?...我在其中有名为“ 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
.
.
.

请帮助

@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关键字以实际执行重命名。

将此放置在book文件夹中的bat文件中。 当然,在尝试这种操作之前,您应该制作整个书夹的副本。

@echo off
for /f "delims=page" %%a in ('DIR /ad /b') do rename "page%%a\Image\Image2.jpg" "%%a.jpg"

下面的批处理文件将文件重命名为文件夹名称,从而删除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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM