[英]Moving and renaming files, keeping extension but include sub directories in batch file
[英]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.