佳木斯湛栽影视文化发展公司

主頁 > 知識庫 > Perl實現(xiàn)刪除Windows下的圖片緩存縮略圖Thumbs.db

Perl實現(xiàn)刪除Windows下的圖片緩存縮略圖Thumbs.db

熱門標簽:電話運營中心 企業(yè)做大做強 呼叫中心市場需求 Win7旗艦版 硅谷的囚徒呼叫中心 客戶服務(wù) 百度AI接口 語音系統(tǒng)

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

要做的事情有兩個:

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

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

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

一、文件路徑,Windows下默認為“\&; ”而linux下則是”/”, 所以統(tǒng)一改為”/”

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

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

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

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

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

復(fù)制代碼 代碼如下:

#!/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:$!";
                     }
                 }
             }
             closedir($handle);
         }
     }
 
     return $filecount;
}
 
my $count = parse_env $path;
my $str = "刪除文件的總數(shù):".$count;
 
print $str;

控制臺上輸出的結(jié)果:

標簽:安康 崇左 山西 山西 濟南 喀什 長沙 海南

巨人網(wǎng)絡(luò)通訊聲明:本文標題《Perl實現(xiàn)刪除Windows下的圖片緩存縮略圖Thumbs.db》,本文關(guān)鍵詞  ;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 收縮
    • 微信客服
    • 微信二維碼
    • 電話咨詢

    • 400-1100-266
    寿宁县| 云林县| 老河口市| 鄂伦春自治旗| 康保县| 吉木乃县| 资阳市| 江陵县| 河北区| 永年县| 泸州市| 晋城| 宜都市| 财经| 平潭县| 武胜县| 宁武县| 齐齐哈尔市| 夹江县| 密云县| 漾濞| 历史| 酒泉市| 额尔古纳市| 西华县| 新密市| 奉化市| 方山县| 观塘区| 丹巴县| 马公市| 绿春县| 北宁市| 宣威市| 陵川县| 海阳市| 吉木萨尔县| 泗水县| 博兴县| 田东县| 武强县|