首页 > 解决方案 > Perl 无法在 Windows 10 中找到现有目录

问题描述

我正在尝试列出目录 Doc 中的文件。在这个目录里面有子目录。perl 无法单独访问子目录目录“用户”之一。下面是命令

 my @ListofFiles = File::Find::Rule->file()
                        ->name( '*.xml' , '*.wav' )
                           ->in( $target_dir );
 

列出了子目录中的所有 xml 文件,但目录 "user" 下除外。这个目录在 Windows 资源管理器中非常可见,我可以通过光标进行交互。但是 perl 无法访问它。当我使用 perl 命令检查目录“用户”是否存在时。它显示No such Directory is found

Additional info : Directory "doc" has  following 
             1) Directory "Audio " -> Contains .wav files
            2) Directory "Zip"   -> contains .zip files
            3) Movie.xml
            4) Image.xml
            5) Directory "user"  -> contains .xml
The .wav and .xml files are fethched without any issues

我不确定这里有什么问题。请帮忙 。

标签: windowsperl

解决方案


尝试执行以下脚本,让我们知道它是否适合您,同时向我们展示结果:

#!/usr/bin/perl

use strict; use warnings;

use Data::Dumper;
use File::Find::Rule;

my $directory = "C:/doc";

my @subdirs = File::Find::Rule->directory->in( $directory );
print "Subdirectories:\n".Dumper(\@subdirs);

my @ListofFiles = File::Find::Rule->file()
                        ->name( '*.xml' , '*.wav' )
                           ->in( $directory );

print "ListofFiles:\n".Dumper(\@ListofFiles);

推荐阅读