• ベストアンサー

PerlでFindFirst/FindNext

cockyの回答

  • cocky
  • ベストアンサー率57% (232/402)
回答No.1

OpenDirで当該ディレクトリを開いて、取得したディレクトリハンドルに対してReadDirを実行すればファイル名の一覧が手に入るので、その結果を配列に格納してForeachループを回せばほぼ同じような処理が可能ですね。 最後にCloseDirでディレクトリハンドルを開放するのを忘れずに(笑)

関連するQ&A

  • findfirst("*",&ffblk,FA_DIREC)が・・・

    findfirst("*",&ffblk,FA_DIREC);//以降findnext として現在いるディレクトリから子ディレクトリ名を取りこもうとしたのですが 一般のフィルまで取りこんでしまいます 簡単にディレクトリだけを取りこむ方法はあるのでしょうか?

  • Perlからファイルオープンダイアログを使うには?

    Perlでスクリプトを組んでいます。 Perlからファイルオープンダイアログを開いて、ファイル名を得たいと思っています。どのようにすればよいか、教えていただけますか? 宜しくお願いいたします。

    • ベストアンサー
    • Perl
  • perlでパスが通らない?

    環境はwindowsXPです。 パスがうまく通っていないようです。perl.exeが入っているファイルへのパスは正常に働いているのに、自分で作ったファイルを置いているC:\documents and settings\user\my document\perlというファイルへのパスがうまくはたらきません(Can't open perl script "test.pl": No such file or directoryと表示されます) コマンドプロンプトで「path」を使ってみても上記のフォルダはちゃんとPathに記述されています(;も入っています)。 何がいけないのでしょうか?

  • perlでFTP

    ローカルPCからPerlで記述されたプログラムを実行し、 FTPサーバーへファイルをアップロードするPerlプログラムを教えてください。 DOS上では、 ftp open ftpサーバー名 ユーザー名 パスワード put 送信するファイル bye となるのですが、それをPerlで記述すると、どのようになるのでしょうか?

    • ベストアンサー
    • Perl
  • ファイルやディレクトリの存在確認を行う方法

    ファイルをオープンするのはfopenでOKですが、ファイルやディレクトリの存在確認を行う方法が知りたいです。 何か組み合わせて作るものなのでしょうか? perlとか便利な演算子があるのですが、C/C++って器用ではないですね。 これは処理系?依存の内容ですか? 私の環境は VC6, VC2005 Windows2000です。

  • Perlで圧縮ファイルを作成するには?

    質問なんですが・・・ perlで、ディレクトリ毎圧縮してしまうようなことが出来るのでしょうか? 検索条件に一致したレコードを取り出し、複数のcsvファイルをperlで作成するのですが、ダウンロードをまとめてさせたいと考えています。 圧縮形式はzipまたはlzhを予定しています。 環境としては、perl5、サーバーはLinuxです。

  • Perlでのファイルリスト作成

    Perlで、ファイルリストを作成したいのですが、あるディレクトリにあるファイル(.htm)からファイル名、フルパス、<title>タグのタイトル部分をはきだす方法を教えてください。

    • ベストアンサー
    • Perl
  • ディレクトリ内の全ファイルをオープンする方法

    特定のディレクトリ内に存在する全てのファイルを順次オープン・クローズするプログラムを作成したいと思います。 例えば、特定のディレクトリに下記のファイルがあるとします。 A.txt B.txt このときにA.txtをオープンし内容を読み込みクローズし、次にB.txtを同じようにオープンし内容を読み込んでクローズするプログラムです。内容を読み込んで処理する部分は問題なく、また上記のように存在するファイルが決まっていれば何も問題はないのですが、下記の場合にはどのように存在するファイルを探せばよいのかがわかりません。 ・何ファイルあるかわからない ・存在するファイルは必ずテキスト ・ファイル名は決まっていない(perlで問題なく読み込めるファイル長) なお、特定のディレクトリに存在するファイルを順次全て読み込めればよいので、その読み込む順番にこだわりはありません。 どうぞよろしくお願い致します。

    • ベストアンサー
    • Perl
  • Perlのプログラミングについて

    Perlのプログラミングでつまづきました。 # ファイルから指定文字列を含む行を収集する # 入力ファイルのオープンと読み込み print( "入力ファイル名?" ); $n = <STDIN>; chomp( $n ); open( FIN, "<$n" ) or die "入力ファイルオープンエラー: $!\n"; $n = @a = <FIN>; close( FIN ); print( "$n 行読み込みました\n" ); # 行の収集 print( "検索文字列?" ); $x = <STDIN>; chomp( $x ); $ptn = $x; #指定の文字列 $x = @b = grep( /$ptn/, @a ); print( "$x 行見つかりました\n" ); # 出力ファイルのオープンと書き出し print( "出力ファイル名?" ); $y = <STDIN>; chomp( $y ); open( FOUT, ">$y" ) or die "出力ファイルオープンエラー: $!\n"; print FOUT ( $ptn, "\n" ); print FOUT ( $x, "\n" ); print FOUT ( @b ); close( FOUT ); というプログラムで実行すると C:\My Perl\pl>perl プログラムの実行.pl 入力ファイル名?sample1.txt 168 行読み込みました 検索文字列?k 45 行見つかりました 出力ファイル名?out3-24.txt 続行するには何かキーを押してください . . . となり出力ファイルの中身が表示されません。 どこを間違えているのかご指摘いただけないでしょうか?

  • <html>perlスクリプト</html>

    <html>~</html>の中に複数のperlスクリプトは書けるのでしょうか? htmlファイル1つの中には、<html>~</html>は1つだと思うのですが、 phpだと<?php>~<?>とすれば、<html>~</html>の中に複数書けるみたいですが、perlでも書けるのでしょうか?

    • ベストアンサー
    • Perl