1

我有 Windows 7,我正在尝试打开一个目录并打印目录中的所有文件名,但 -f 命令在我的系统上不起作用。程序如下:

enter code here

$directory = '\Users';
opendir(DIR, $directory) or die $!;
while ($file = readdir(DIR)){
    if(-f $file){
        print "$file\n";
    }
}
closedir(DIR);

谁能告诉我怎么了?提前致谢。

4

2 回答 2

3

您缺少文件的路径。

它应该是这样的:

if(-f "$directory/$file") {
于 2013-09-04T06:00:27.827 回答
1

您应该使用完整路径名进行测试。$file只包含文件名。

if ( -f "$directory\\$file" ){
    print "$file\n";
}
于 2013-09-04T06:06:48.747 回答