-PR-
解決
済み

複数ファイル?処理させる方法について

  • 暇なときにでも
  • 質問No.47838
  • 閲覧数161
  • ありがとう数4
  • 気になる数0
  • 回答数2
  • コメント数0

お礼率 50% (7/14)

Perlでファイルに適当なレコードを追加するスクリプトを組んだのですが、
どうしたら、複数ファイルを一度に処理できるのでしょうか?
例えば、フォルダ内のファイル全てを処理するとか、、、
環境はwin ntです。
通報する
  • 回答数2
  • 気になる
    質問をブックマークします。
    マイページでまとめて確認できます。

質問者が選んだベストアンサー

  • 回答No.1

 ディレクトリを操作するには、opendir、readdir、closedirという3つの関数を使います。
 具体的には、

sub getDirEnt {
  local(@dirs, $i);
  opendir(DIRHANDLE, "@_[0]");
  while ( $i = readdir(DIRHANDLE) ) {
    push(@dir, $i);
  }
  close(DIRHANDLE);
  return @dirs;
}

 このサブルーチンのようにしてください。(このサンプルはタブを全角スペースで記述しています)
 これは、第1引数にディレクトリ名を記述すると、そのファイルエントリーを配列で返します。

 取得されたすべてのファイルを順にオープンし、処理を行うことでご希望の処理ができると思います。
お礼コメント
makos

お礼率 50% (7/14)

早速の回答ありがとうございます。
具体的なロジックまで記述していただき、
とてもわかり易かったです。
これで何とかなりそうです。本当にありがとうございました。
投稿日時 - 2001-03-05 13:51:30
-PR-
-PR-

その他の回答 (全1件)

  • 回答No.2
レベル13

ベストアンサー率 26% (511/1924)

Perl以外でそういう処理をしたことがありますか? アルゴリズム的には、ファイルのエントリ情報を取得して、それがなくなるまで繰り返し実行するのが普通ですね。 rewinddir,readdir という関数が有りますのでそれを使えば可能だと思います。 ...続きを読む
Perl以外でそういう処理をしたことがありますか?
アルゴリズム的には、ファイルのエントリ情報を取得して、それがなくなるまで繰り返し実行するのが普通ですね。
rewinddir,readdir という関数が有りますのでそれを使えば可能だと思います。
お礼コメント
makos

お礼率 50% (7/14)

早速の回答ありがとうございます。
他の言語でもこういった処理をしたことがありませんでした。。。
rewinddirというのはちょっと何に使うのかわかりませんが
もうちょっと調べてやってみようと思います。
投稿日時 - 2001-03-05 14:06:32


このQ&Aで解決しましたか?
関連するQ&A
-PR-
-PR-
こんな書き方もあるよ!この情報は知ってる?あなたの知識を教えて!
このQ&Aにはまだコメントがありません。
あなたの思ったこと、知っていることをここにコメントしてみましょう。

その他の関連するQ&A、テーマをキーワードで探す

キーワードでQ&A、テーマを検索する
-PR-
-PR-
-PR-

特集


関連するQ&A

-PR-

ピックアップ

-PR-
ページ先頭へ