我正在尝试获取指定路径中所有目录的名称
我尝试了以下但是这给了我每个级别而不仅仅是我指定的路径
find(\&dir_names, "C:\\mydata\\");
sub dir_names {
print "$File::Find::dir\n" if(-f $File::Find::dir,'/');
}
Run Code Online (Sandbox Code Playgroud)
FMc*_*FMc 17
my @dirs = grep { -d } glob 'C:\mydata\*';
Run Code Online (Sandbox Code Playgroud)
请opendir改用
opendir DIR, $dirname or die "Couldn't open dir '$dirname': $!";
my @files = readdir(DIR);
closedir DIR;
#next processing...
Run Code Online (Sandbox Code Playgroud)
编辑:
"这将提供所有文件,而不仅仅是目录.你还需要grep."
是的,在这种情况下,您可以使用文件测试运算符来查看它是否是目录.
在Windows中:
$dirname="C:\\";
opendir(DIR, $dirname);
@files = readdir(DIR);
closedir DIR;
foreach $key (@files)
{
if(-d "$dirname\\$key")
{
print "$key\n";
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
16454 次 |
| 最近记录: |