我想把一個字符串(reference_
)加到所有目錄中的所有* .bmp文件的名字以及子目錄中。我們第一次運行Silk腳本時,它將創建目錄以及子目錄,並且在每個子目錄下,它將存儲每個移動應用程序的sceenshot,其擴展名爲.bmp
。如何爲目錄下的所有文件名添加前綴?
當我第二次運行自動silkscript時,它將再次在所有子目錄中創建* .bmp文件。在第二次運行腳本之前,我希望以字符串reference_
前綴所有* .bmp。
例如first_screen.bmp
到reference_first_screen.bmp
, 我有如下的目錄結構:具有first_screen.bmp
和first_screen.bmp
文件等...
可以在任何一個幫助我
C:\Image_Repository\BG_Images\second
...
C:\Image_Repository\BG_Images\sixth
?
如何在reference_
字符串前綴所有圖像文件名?
當我第二次運行該腳本時,silk中的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;
#[email protected];
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;
#[email protected];
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文件夾中帶有前綴字符串的文件,但實際上它不更新子目錄中的文件。
我不明白你在這裏問什麼。您的文字說了一件事,但您的代碼顯示了其他內容。 – 2009-01-02 22:32:01