1

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

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

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

4

1 回答 1

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

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

于 2013-08-06T19:26:07.633 回答