我需要运行一个 bat 文件将每个子文件夹中的照片重命名为子文件夹名称,并将所有照片复制到一个新文件夹中。每个子文件夹仅包含一张照片。
我想写一个批处理文件来完成这个任务,因为有很多子文件夹,但是,我只能成功复制最后一个子文件夹中的照片。
子文件夹按从“00000001”开始的编号顺序命名。
我发现照片被重命名为相同,因此只能复制一张照片。
这是我的代码:
md "D:\photo"
for /r %%d in (.) do (cd %%d
for /r %%* in (.) do (set CurrDirName=%%~n*
echo %CurrDirName%
ren "*.jpg" "%CurrDirName%.jpg"
copy *.jpg "D:\photo"))
请提出建议,以便我可以修改我的代码并成功完成我想做的事情,非常感谢!
编辑更多细节
在 cmd 行中,例如程序在子文件夹“00000127”中运行,设置 CurrDirName=00000127 但回显 %CurrDirName%,显示 00000128 这是最后一个子文件夹,每个子文件夹返回 00000128 但不是 CurrDirName