Perl实现删除Windows下的图片缓存缩略图Thumbs.db
2023-06-13 09:15:37 时间
接手以前别人做的项目,发现SVN里的ignore里并没有对*.db处理,导致图片的缓存缩略文件都被提交了,而我只要打开图片文件夹,就意味着Thumbs.db发生了改变。
要做的事情有两个:
一、更改svn的设置,以后不再提交Thumbs.db文件
二、批量删除指定目录下的Thumbs.db文件
所以用perl写了一个,代码是在之前的perl遍历目录做了一些修改,主要有两点自己注意了:
一、文件路径,Windows下默认为“\ ”而linux下则是”/”,所以统一改为”/”
二、比较两个字符串相等需要使用eq而不是==(==返回数值相等,而eq返回的是字符串相等)
三、unlink删除文件,需要指定文件的完整路径
四、perl中的elseif写法为elsif没有那个“e”
五、perl正则匹配方式为=~或!~
完整的代码如下,需要更改规则可以修改代码中的这一段:
#!/usr/bin/perl
usestrict;
usewarnings;
my$path="C:/FlexApp/xx";
my$filecount=0;
subparse_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($subpatheq"Thumbs.db"){
++$filecount;
print"Thefilepath:".$p."------------Thefilename:$subpath\n";
unlink($p)orwarn"failedon$subpath:$!";
}
}
}
closedir($handle);
}
}
return$filecount;
}
my$count=parse_env$path;
my$str="删除文件的总数:".$count;
print$str;
控制台上输出的结果:
相关文章
- python学习笔记(三)— PyCharm 下载安装教程(Windows)
- tetgen在windows系统的基本使用
- WINDOWS下安装系统_在Windows环境下
- Windows 10下安装最新版MongoDB的完整步骤
- 图文详解Windows下使用Redis缓存工具的方法
- The Power of Redis: Running on Windows 32 Bit(rediswin32)
- windows分步实现:双系统Linux挂载Windows(双系统Linux挂载)
- 在Windows环境下启动MySQL服务(windows启动mysql服务)
- Windows中安装macOS:让你在同一台电脑上实现双系统切换(windows安装macos)
- windows三大操作系统:IE,Linux,Windows(ielinux)
- and windows切换Linux和Windows系统:实现自由转换(swaplinux)
- 和 windows比较: Getty Linux 与 Windows(gettylinux)
- Linux防护Windows:查杀病毒大招(linux病毒查杀win)
- Windows远程访问Linux指南(windows怎么远程linux)
- Linux远程控制Windows:让你的操作变得更轻松(linux远程windows)
- 对比分析:Linux系统与Windows系统的异同(linux系统与windows系统的区别)
- 通过Linux在台式机上安装Windows的指南(linux安装windows)
- Linux与Windows:共同打开软件世界的大门(linux和windows)
- 如何下载适用于Windows 8的MySQL数据库(mysql下载w8)