国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > Perl > 正文

Perl實現刪除Windows下的圖片緩存縮略圖Thumbs.db

2020-06-04 20:32:36
字體:
來源:轉載
供稿:網友

接手以前別人做的項目,發現SVN里的ignore里并沒有對*.db處理,導致圖片的緩存縮略文件都被提交了,而我只要打開圖片文件夾,就意味著Thumbs.db發生了改變。

要做的事情有兩個:

一、更改svn的設置,以后不再提交Thumbs.db文件

二、批量刪除指定目錄下的Thumbs.db文件

所以用perl寫了一個,代碼是在之前的 perl遍歷目錄 做了一些修改,主要有兩點自己注意了:

一、文件路徑,Windows下默認為“/  ”而linux下則是”/”, 所以統一改為”/”

二、比較兩個字符串相等需要使用eq 而不是 == (==返回數值相等,而eq返回的是字符串相等)

三、unlink刪除文件,需要指定文件的完整路徑

四、perl中的else if 寫法為elsif 沒有那個“e”

五、perl正則匹配方式為 =~ 或 !~

完整的代碼如下,需要更改規則可以修改代碼中的這一段:

代碼如下:
#!/usr/bin/perl
use strict;
use warnings;
 
my $path = "C:/FlexApp/xx";
my $filecount = 0;
 
sub parse_env {
     my $path = $_[0]; #或者使用 my($path) = @_; @_類似javascript中的arguments
     my $subpath;
     my $handle;
 
     if (-d $path) {#當前路徑是否為一個目錄
         if (opendir($handle, $path)) {
             while ($subpath = readdir($handle)) {
                 if (!($subpath =~ m/^/.$/) and !($subpath =~ m/^(/./.)$/)) {
                     my $p = $path."/$subpath";
 
                     if (-d $p) {
                         parse_env($p);
                     } elsif ($subpath eq "Thumbs.db") {
                         ++$filecount;
                            print "The file path:".$p."------------The file name:$subpath/n";
                         unlink($p) or warn "failed on $subpath:$!";

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 宜川县| 安溪县| 高雄县| 罗城| 江安县| 凤翔县| 北宁市| 洛浦县| 穆棱市| 平昌县| 喀喇沁旗| 永靖县| 萍乡市| 肥城市| 万全县| 遂平县| 滦南县| 沂水县| 南安市| 界首市| 潮安县| 拉萨市| 沾化县| 图们市| 长汀县| 道孚县| 宁德市| 黔南| 北碚区| 武安市| 兴义市| 奉节县| 上犹县| 航空| 会同县| 鄯善县| 称多县| 毕节市| 咸宁市| 绥化市| 达孜县|