OKWAVEのAI「あい」が美容・健康の悩みに最適な回答をご提案!
-PR-
解決
済み

CGIでファイルをコピーすることは?

  • 困ってます
  • 質問No.151014
  • 閲覧数86
  • ありがとう数1
  • 気になる数0
  • 回答数1
  • コメント数0

お礼率 46% (7/15)

a.gifというファイルに、状態によってb.gifの内容をコピーしたり、c.gifの内容をコピーしたりしたいのですが、リファレンス本などをみるとそのようなコマンドはないようでした。
このようなことは実現できるでしょうか?
なにか良い方法をご存知の方、ぜひ教えてください。
通報する
  • 回答数1
  • 気になる
    質問をブックマークします。
    マイページでまとめて確認できます。

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

  • 回答No.1
レベル11

ベストアンサー率 61% (157/255)

TSkasiwaさま、はじめまして。

>a.gifというファイルに、状態によってb.gifの内容をコピーしたり、
>c.gifの内容>をコピーしたりしたいのですが、リファレンス本などを
>みるとそのようなコマンド>はないようでした。
>このようなことは実現できるでしょうか?

ご質問の件ですが、ファイルをコピーする場合は、File::Copy を使うのが最も良いと思います。

#######################################################
use File::Copy 'copy';

copy ("ABC.gif", "DEF.gif");
# ABC.gif を DEF.gifへとコピーする
#######################################################

このように、Perlでは、MS-DOSのコピーコマンドに近い感覚で、
ファイルをコピーすることが出来ます。


又、現在のディレクトリ(を含めた下の階層)の一覧は、File::Find関数を
以下のように使用することで得ることができます。

#######################################################
use File::Find 'find';

find (\&wanted, "./");

sub wanted {
print "$File::Find::name\n";
# 現在のディレクトリ以下[サブディレクトリ含む]の全てのファイルを表示する
}
#######################################################

File::Find(\&wanted, dir1, [dir2 ...]) 関数

の詳細な使い方につきましては、
ネットや書籍などで、お調べになってみてください。
いろいろな便利なオプションがございます。

又、perlの一般的な関数である、readdir関数を使用しても
ほぼ同様の効果が得られますので、こちらも良いと思います。


最後に、簡単な正規表現や判定文などを加えると次のようなサンプルができます。

#######################################################
use File::Copy 'copy';
use File::Find 'find';

find (\&wanted, "./");

sub wanted {
if (/.+\.gif$/) {
$File::Find::name =~ s|^./||;
copy ($File::Find::name, "E:\\$File::Find::name");
# 現在のディレクトリの *.gif ファイルをE:\フォルダにコピーする
}
}
#######################################################

いかがでしょうか? ご参考になれば。
何か、ご不明な点などありましたら、ご遠慮なく補足してください。
お礼コメント
TSkasiwa

お礼率 46% (7/15)

ありがとうございます。
これがやりたかったのです。
File::Find(\&wanted, dir1, [dir2 ...]) 関数 を調べてこれからどんな風につかえるか、というのを勉強しようと思います。
本当にありがとうございました。
投稿日時 - 2001-10-16 15:03:44
-PR-
-PR-
このQ&Aで解決しましたか?
関連するQ&A
-PR-
-PR-
こんな書き方もあるよ!この情報は知ってる?あなたの知識を教えて!
このQ&Aにはまだコメントがありません。
あなたの思ったこと、知っていることをここにコメントしてみましょう。

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

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

特集


いま みんなが気になるQ&A

関連するQ&A

-PR-

ピックアップ

-PR-
ページ先頭へ