我正在尝试在所有目录及其子目录中,为所有*.bmp文件的名称添加一个字符串前缀(
reference_
)。第一次运行silk脚本时,它将创建目录和子目录,并在每个子目录下以.bmp
扩展名存储每个移动应用程序的截屏。
当我第二次运行自动化silk脚本时,它将再次在所有子目录中创建*.bmp文件。在第二次运行脚本之前,我想要给所有*.bmp文件的名称添加一个前缀 reference_
。
first_screen.bmp
变成 reference_first_screen.bmp
,
我的目录结构如下:C:\Image_Repository\BG_Images\second
...
C:\Image_Repository\BG_Images\sixth
有 first_screen.bmp
和 second_screen.bmp
等文件...
有人可以帮我吗?
如何在所有图像文件名前加上 reference_
字符串?
当我第二次运行蚕丝中的Perl脚本时,它将从子目录中获取两个图像并逐像素比较它们。 我正在尝试以下代码。请指导我如何继续完成此任务。
#!/usr/bin/perl -w
&one;
&two;
sub one {
use Cwd;
my $dir ="C:\\Image_Repository";
#print "$dir\n";
opendir(DIR,"+<$dir") or "die $!\n";
my @dir = readdir DIR;
#$lines=@dir;
delete $dir[-1];
print "$lines\n";
foreach my $item (@dir)
{
print "$item\n";
}
closedir DIR;
}
sub two {
use Cwd;
my $dir1 ="C:\\Image_Repository\\BG_Images";
#print "$dir1\n";
opendir(D,"+<$dir1") or "die $!\n";
my @dire = readdir D;
#$lines=@dire;
delete $dire[-1];
#print "$lines\n";
foreach my $item (@dire)
{
#print "$item\n";
$dir2="C:\\Image_Repository\\BG_Images\\$item";
print $dir2;
opendir(D1,"+<$dir2") or die " $!\n";
my @files=readdir D1;
#print "@files\n";
foreach $one (@files)
{
$one="reference_".$one;
print "$one\n";
#rename $one,Reference_.$one;
}
}
closedir DIR;
}
我尝试使用'+<'模式进行打开调用,但读取和写入模式会导致编译错误。 当我运行此代码时,它显示带有前缀字符串的BG_images文件夹中的文件,但实际上它没有更新子目录中的文件。