当前位置: 首页 > 编程笔记 >

Perl实现删除Windows下的图片缓存缩略图Thumbs.db

傅玮
2023-03-14
本文向大家介绍Perl实现删除Windows下的图片缓存缩略图Thumbs.db,包括了Perl实现删除Windows下的图片缓存缩略图Thumbs.db的使用技巧和注意事项,需要的朋友参考一下

接手以前别人做的项目,发现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:$!";

                     }

                 }

             }

             closedir($handle);

         }

     }

 

     return $filecount;

}

 

my $count = parse_env $path;

my $str = "删除文件的总数:".$count;

 

print $str;

控制台上输出的结果:

 类似资料:
  • 本文向大家介绍php实现图片缩略图的方法,包括了php实现图片缩略图的方法的使用技巧和注意事项,需要的朋友参考一下 本段代码实现功能有这些: 支持jpg,jpeg,gif,png,bmp图片格式,支持按原图片的比例进行缩放,可以选择在图片缩放的过程中是否需要对图片进行裁切,加入了图片质量控制,可以实现缩略图片质量最高化。 完整类的代码如下: 使用方法很简单代码如下: 以上代码是小编给大家分享的ph

  • 我创建了一个Azure函数,在每次用户上传图片到我的存储容器时创建一个缩略图。 我的问题是,当用户删除图片时,如何删除缩略图?我可以使用Blob触发器吗?我应该使用时间触发器来检查哪个缩略图没有相关联的图片并删除该缩略图吗?

  • 本文向大家介绍Android中Glide加载图片并实现图片缓存,包括了Android中Glide加载图片并实现图片缓存的使用技巧和注意事项,需要的朋友参考一下 今天工作中遇到Glide的缓存问题,之前在项目中一直用Glide加载本地及网络图片,但是没有考虑过缓存的问题,但是需求中需要提到了,所以在网上查了一下,再这里和大家简单的分享一下Glide的使用方法以及缓存 首先,Glide是Github上

  • 本文向大家介绍python制作图片缩略图,包括了python制作图片缩略图的使用技巧和注意事项,需要的朋友参考一下 缩略图 在很多时候我们都需要将图片按照同比例缩小有利于存储 但是一张张手动去改的话太麻烦了 今天我们就用python实现一个简单的将一个文件夹中的所有图片进行指定大小的调整 缩略前: 代码: 缩略后: 参数使用说明: 1、os模块,python的os模块封装了常见的文件和目录操作。

  • 本文向大家介绍java实现创建缩略图、伸缩图片比例生成的方法,包括了java实现创建缩略图、伸缩图片比例生成的方法的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了java实现创建缩略图、伸缩图片比例生成的方法。分享给大家供大家参考。具体实现方法如下: 该实例支持将Image的宽度、高度缩放到指定width、height,并保存在指定目录 通过目标对象的大小和标准(指定)大小计算出图片缩小的

  • 本文向大家介绍php生成图片缩略图的方法,包括了php生成图片缩略图的方法的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了php生成图片缩略图的方法。分享给大家供大家参考。具体如下: 这里需要用到GD2 library 希望本文所述对大家的php程序设计有所帮助。