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 に答える