for循环通过windows cmd中的文件夹循环以进行文件重命名

时间:2011-03-21 20:02:27

标签: image command-line recursion rename windows-scripting

我正在尝试使用ImageMagic迭代带有图像的文件夹来创建缩略图,并使用small_前缀重命名缩略图文件。

当我在单个文件夹中执行它时,效果很好:

FOR %a in (*.jpg) DO convert %a -thumbnail 30% small_%a

要遍历子文件夹,我只需要/ R flag:

FOR /R %a in (*.jpg) DO convert %a -thumbnail 30% small_%a

这将导致缩略图的新名称 small_c:\images\image.jpg这是错误的:)

如何在通过脚本中的子文件夹递归时将small_前缀添加到文件名中,即从c:\images\image.jpgc:\images\small_image.jpg

感谢。

1 个答案:

答案 0 :(得分:12)

我认为这可能适合你的情况。

for /R %i in (*.jpg) DO convert %i -thumbnail 30% %~di%~pi%~ni_small%~xi