删除一个文件夹中的所有 .psd 文件
Posted
技术标签:
【中文标题】删除一个文件夹中的所有 .psd 文件【英文标题】:Delete all .psd files in one folder 【发布时间】:2013-08-06 19:22:52 【问题描述】:所以我是 perl 的新手,我有一个文件夹,而不是包含子文件夹,其中还包含子文件夹等。所有这些子文件夹和子文件夹的混乱都是说“.psd”的文件
我尝试研究如何将它们全部删除,到目前为止,这是我最好的尝试(但我不确定它会做什么,我不想最终删除我计算机上的每个 .psd 文件).. . 我只想删除桌面上某个文件夹(或该文件夹的子文件夹等)中的所有 .psd 文件
到目前为止的代码:
unlink glob('*.psd');
【问题讨论】:
(再次,我是 perl 的新手,所以我如何设置要删除所有这些 .psd 文件的文件夹...它只是我保存 .pl 文件的那个文件夹吗? perlscript 文档在?) 【参考方案1】:借助以下工具在几秒钟内生成和修改脚本:
find2perl -type f -name '*.psd'
:
#!/usr/bin/perl
use strict;
use warnings;
use autodie; # abort execution with warning when "unlink" fails.
use File::Find;
find
# do the "wanted" action for each file/directory
wanted => sub
unlink $_ if -f $_ and /\.psd$/;
# -f tests that the entry is a normal file
# The regex /\.psd$/ tests that the filename has a .psd ending
,
, $ARGV[0]; # take the start directory from command line
像这样称呼
$ perl the-script.pl /place/where/you/want/to/start
这将在所需目录中递归工作。
【讨论】:
find2perl
生成可怕的代码,不应该作为示例展示给刚接触 perl 的人。 wanted
应该看起来像带有 no_chdir
选项集的 unlink $_ if -f $_ and /\.psd$/
。
确实这很丑,它没有通过perlcritic -4
=) 但它有效。
请随意修改我的帖子。
@sputnik 好的,我擦洗了没用的部分。以上是关于删除一个文件夹中的所有 .psd 文件的主要内容,如果未能解决你的问题,请参考以下文章
如何将 PSD 文件中的所有图层导出为 PDF 矢量以在 Xcode 6 中使用资产目录