用一个 for
环:
for i in `seq 1 1250`
do convert input.png -font arial -fill black -pointsize 10 -annotate +20+20 $i output_$(printf %04d $i).png
done
编辑 :您没有在问题中指明您使用的是Windows。由于我不知道cmd.exe和PowerShell,我将提出两种替代解决方案:
如果你有Perl发行版(例如 http://strawberryperl.com 要么 http://dwimperl.com ),尝试(未经测试):
#!/usr/bin/perl
use v5.14;
for (1 .. 1250) {
my $x = sprintf "%04d", $_;
system qw/convert input.png -font arial -fill black -pointsize 10 -annotate +20+20/, $_, "output_$x.png";
}
如果您有C编译器,请尝试(再次未经测试);
#include<stdio.h>
#include<stdlib.h>
int main(void){
char cmd[1000];
int i;
for(i = 1 ; i <= 1250 ; i++){
sprintf(cmd, "convert input.png -font arial -fill black -pointsize 10 -annotate +20+20 %d output_%04d.png", i, i);
system(cmd);
}
return 0;
}