删除一个文件夹中的所有.psd文件

时间:2013-08-06 19:22:53

标签: perl directory delete-file file-extension unlink

所以我是perl的新手,我有一个文件夹,而不是包含子文件夹,也包含子文件夹等。所有这些子文件夹和子文件夹都是说“.psd”的文件

我尝试过研究如何将它们全部删除,到目前为止这是我最好的刺(但我不确定它会做什么,我不想最终删除我的计算机上的每个.psd文件)..我只想删除桌面上某个文件夹(或该文件夹子文件夹等)中的所有.psd文件

到目前为止的代码: unlink glob('*.psd');

1 个答案:

答案 0 :(得分: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

这将在所需目录中递归工作。