1
这里重命名文件是代码:批处理文件 - 基于父母的姓名和(子)文件夹(S)名字
for /r %%a in (*.jpg, *.png, *.bmp, *.exe) do (
for /d %%d in (%CD%) do (
set newname=%%~nd%~x1
ren "%%~a" "!newname!%%~Xa"
echo media file in %%~fa renamed to "!newname!%%~Xa"
)
)
的主要问题是,在子文件夹中的文件结束了文件名作为父目录名我运行bat文件。会发生什么
例子:
C:\parent\name.jpg renamed to C:\parent\parent.jpg
C:\parent\child\name.jpg renamed to C:\parent\child\parent.jpg
C:\parent\child1\child2\name.jpg renamed to C:\parent\child1\child2\parent.jpg
我需要:
C:\parent\1.jpg rename to C:\parent\parent.jpg
C:\parent\child\1.jpg rename to C:\parent\child\child.jpg
C:\parent\child1\child2\name.jpg renamed to C:\parent\child1\child2\child2.jpg
任何帮助吗?
那么,在一行代码中工作得很好。你想解释一下这些命令吗? –
谢谢请参阅我编辑的答案。 – foxidrive
非常感谢。这非常有帮助。 –