我有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);
谁能告诉我什么是错的?
在此先感谢。
答案 0 :(得分:3)
您错过了该文件的路径。
它应该是这样的:
if(-f "$directory/$file") {
答案 1 :(得分:1)
您应该使用完整路径名进行测试。 $file
仅包含文件名。
if ( -f "$directory\\$file" ){
print "$file\n";
}