perl目錄檔案操作--複製,移動,重新命名
阿新 • • 發佈:2019-01-10
perl目錄操作,
建立目錄控制代碼指向要操作的目錄。 開啟目錄控制代碼使用 opendir ;
opendir dirhandle,directory ;
例:取某目錄下檔案的列表:
opendir (e,'E:\娛樂\music\阿杜')|| die"can't open e: $!" ;
@files=readdir e;
closedir(e) ;
for($index=0;$index<@files ;$index++){
print "@files[$index]\n" ;
}
#輸出指定目錄下的所有檔案(該目錄不包含子目錄)。
建立目錄:mkdir
mkdir('d:\test',0755)||die "can't create directory: $!" ;
刪除目錄 rmdir
rmdir('d:\perl\wzj')||die "can't remove diretory: $!"; #刪除之前目錄必須為空。
在某一目錄內找指定檔案:
例:在d盤下找311.txt
use strict ;
use File::Find ;
sub wanted{
if ($_ eq "311.txt"){
print $File::Find::name ;
print "\n" ;
}
}
find \&wanted ,"d:/";
列出指定目錄下所有的檔案,包含子目錄的內容:
use strict ;
use File::Find ;
sub wanted{
if (-f $File::Find::name){ #判斷傳入的是檔案而不是目錄。
print "remove $File::Find::name ";
print "\n";
# unlink $File::Find::name ;
}
}
find \&wanted,'E:\nero\Content' ;
查詢指定目錄下某型別檔案:
例:查詢e盤下所有exe檔案
use strict ;
use File::Find ;
sub wanted{
if (-f $File::Find::name){
if ($File::Find::name =~/\.exe$/i){
print "remove $File::Find::name ";
print "\n";
}
# unlink $File::Find::name ;
}
}
find \&wanted,'E://' ;
檔案複製
use File::Copy ;
use strict ;
copy("d:/book/三國演義.txt","d:/book/aa")||warn "could not copy files :$!" ;
#將d:/book/三國演義.txt複製到d:/book/aa下
檔案移動
use File::Copy ;
use strict ;
move("d:/book/ss.txt","d:/book/aa")||warn "could not copy files :$!" ;
檔案改名
use File::Copy ;
use strict ;
rename("d:/perl/tt.txt","d:/perl/tttttt.txt");
#將d:/perl/tt.txt改名為d:/perl/tttttt.txt
建立目錄控制代碼指向要操作的目錄。 開啟目錄控制代碼使用 opendir ;
opendir dirhandle,directory ;
例:取某目錄下檔案的列表:
opendir (e,'E:\娛樂\music\阿杜')|| die"can't open e: $!" ;
@files=readdir e;
closedir(e) ;
for($index=0;$index<@files ;$index++){
print "@files[$index]\n" ;
}
#輸出指定目錄下的所有檔案(該目錄不包含子目錄)。
建立目錄:mkdir
mkdir('d:\test',0755)||die "can't create directory: $!" ;
刪除目錄 rmdir
rmdir('d:\perl\wzj')||die "can't remove diretory: $!"; #刪除之前目錄必須為空。
在某一目錄內找指定檔案:
例:在d盤下找311.txt
use strict ;
use File::Find ;
sub wanted{
if ($_ eq "311.txt"){
print $File::Find::name ;
print "\n" ;
}
}
find \&wanted ,"d:/";
列出指定目錄下所有的檔案,包含子目錄的內容:
use strict ;
use File::Find ;
sub wanted{
if (-f $File::Find::name){ #判斷傳入的是檔案而不是目錄。
print "remove $File::Find::name ";
print "\n";
# unlink $File::Find::name ;
}
}
find \&wanted,'E:\nero\Content' ;
查詢指定目錄下某型別檔案:
例:查詢e盤下所有exe檔案
use strict ;
use File::Find ;
sub wanted{
if (-f $File::Find::name){
if ($File::Find::name =~/\.exe$/i){
print "remove $File::Find::name ";
print "\n";
}
# unlink $File::Find::name ;
}
}
find \&wanted,'E://' ;
檔案複製
use File::Copy ;
use strict ;
copy("d:/book/三國演義.txt","d:/book/aa")||warn "could not copy files :$!" ;
#將d:/book/三國演義.txt複製到d:/book/aa下
檔案移動
use File::Copy ;
use strict ;
move("d:/book/ss.txt","d:/book/aa")||warn "could not copy files :$!" ;
檔案改名
use File::Copy ;
use strict ;
rename("d:/perl/tt.txt","d:/perl/tttttt.txt");
#將d:/perl/tt.txt改名為d:/perl/tttttt.txt