2011-03-21 142 views
6

我试图用图像遍历文件夹以使用ImageMagic创建缩略图,并用small_前缀重命名缩略图文件。For循环递归通过Windows cmd中的文件夹进行文件重命名

,当我在一个文件夹中执行此,它的伟大工程:

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

要通过子文件夹循环,我只需要/ R标志:

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

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

我怎样才能得到small_前缀到文件名,而递归通过子文件夹在scri pt,即从c:\images\image.jpgc:\images\small_image.jpg

谢谢。

回答

11

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

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

省长,谢谢:) – 2011-03-21 20:35:43

+0

我就用small_在文件名前面:用于/ R%I IN(* .JPG)DO转换%我-thumbnail 30%%〜迪%〜pismall_% 〜ni%〜xi – 2011-03-21 20:36:13

+1

无论如何,这对我来说都不起作用,直到我在手册http://ss64.com/nt/for.html中发现正确的语法是double-%,例如:for/R% %i在(* .jpg)中DO转换%% i ... – 2015-01-14 14:06:31

相关问题