如何为每个子文件夹运行命令

时间:2013-12-13 19:14:44

标签: batch-file cmd batch-processing

我有一个批处理文件,可以将文件夹中找到的所有图片重命名为0001.jpg 0002.jpg 003.jpg

等系列名称

此批处理文件的代码是:

set cnt=0
FOR /R d:\all\photos1\    %%a in (Graphic*.jpg) do call :renfile "%%a"
goto :eof

:renfile
set /a cnt += 1
set padCnt=0000%cnt%
ren %1 %padCnt:~-4%%~x1

问题是我的父文件夹里面有很多文件夹和子文件夹“all”所以我不得不为每个文件夹制作一个批处理文件,所以我需要制作一个批处理文件,它将查看所​​有文件夹和子文件夹 - 我的父文件夹“all”中的文件夹并运行我提到的命令重命名其中的图片。

1 个答案:

答案 0 :(得分:1)

你试过吗

FOR /R d:\all\ %%a in (Graphic*.jpg) do call :renfile "%%a"

(对于测试,我很想ECHO ren命令......)


对于未说明的重置编号问题......

set lastdir=:
FOR /R d:\all\    %%a in (Graphic*.jpg) do call :renfile "%%a"
goto :eof

:renfile
if NOT "%lastdir%"=="%~p1" set /a cnt=0&set "lastdir=%~p1"
set /a cnt += 1
set padCnt=0000%cnt%
ren %1 %padCnt:~-4%%~x1

(航空代码 - 应该有效)