【发布时间】:2021-04-18 17:27:14
【问题描述】:
我正在尝试列出目录 Doc 中的文件。在这个目录里面有子目录。 perl 无法单独访问子目录目录“用户”之一。 下面是命令
my @ListofFiles = File::Find::Rule->file()
->name( '*.xml' , '*.wav' )
->in( $target_dir );
列出了子目录中的所有 xml 文件,除了目录 "user" 下。 这个目录在 Windows 资源管理器中非常可见,我可以通过光标进行交互。 但是 perl 无法访问它。当我使用 perl 命令检查目录“用户”是否存在时。它显示找不到这样的目录。
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
我不确定这里有什么问题。 请帮忙。
【问题讨论】:
-
@Dheena Dayalan 你在
$target_dir中设置了正确的路径吗?user目录也被隐藏/当前用户有查看权限吗? -
@vkk05 是的,我做到了。这也可以从规则查询中列出其他子目录文件的原因来确认。是的,它确实有正确的条件。
-
@Dheena Dayalan 回复:当我使用 perl 命令检查目录“用户”是否存在时。它显示没有找到这样的目录 - 你能粘贴它是什么命令吗?
-
“但是 perl 无法访问它。” 这是描述问题的一种非常糟糕的方式。您需要说明 1)如何在变量
$target_dir中创建路径,2)如何检查结果数组中的内容,最好是Data::Dumper打印,以及 3)显示 perl 程序文件的文件结构与 target_dir 的关系。此时我们所能做的就是猜测,您必须提供更多信息。 -
@vkk05 。我们有一个命令来检查目录是否存在 '-e "C:\\doc\\user" ' 。我用这个来验证