No.1ベストアンサー
- 回答日時:
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:\フォルダにコピーする
}
}
#######################################################
いかがでしょうか? ご参考になれば。
何か、ご不明な点などありましたら、ご遠慮なく補足してください。
この回答へのお礼
お礼日時:2001/10/16 15:03
ありがとうございます。
これがやりたかったのです。
File::Find(\&wanted, dir1, [dir2 ...]) 関数 を調べてこれからどんな風につかえるか、というのを勉強しようと思います。
本当にありがとうございました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・人生のプチ美学を教えてください!!
- ・10秒目をつむったら…
- ・あなたの習慣について教えてください!!
- ・牛、豚、鶏、どれか一つ食べられなくなるとしたら?
- ・【大喜利】【投稿~9/18】 おとぎ話『桃太郎』の知られざるエピソード
- ・街中で見かけて「グッときた人」の思い出
- ・「一気に最後まで読んだ」本、教えて下さい!
- ・幼稚園時代「何組」でしたか?
- ・激凹みから立ち直る方法
- ・1つだけ過去を変えられるとしたら?
- ・【あるあるbot連動企画】あるあるbotに投稿したけど採用されなかったあるある募集
- ・【あるあるbot連動企画】フォロワー20万人のアカウントであなたのあるあるを披露してみませんか?
- ・映画のエンドロール観る派?観ない派?
- ・海外旅行から帰ってきたら、まず何を食べる?
- ・誕生日にもらった意外なもの
- ・天使と悪魔選手権
- ・ちょっと先の未来クイズ第2問
- ・【大喜利】【投稿~9/7】 ロボットの住む世界で流行ってる罰ゲームとは?
- ・推しミネラルウォーターはありますか?
- ・都道府県穴埋めゲーム
- ・この人頭いいなと思ったエピソード
- ・準・究極の選択
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
エクセルで複数のコメントのサ...
-
frxファイルの役目
-
xcopyでのバッチコピー方法でコ...
-
バッチファイル XCOPYで上書き...
-
エクセルのハイパーリンクがコ...
-
Vba初心者です。下記のコード助...
-
ファイルサーバ上のファイルが...
-
バッチファイルで指定拡張子以...
-
[エクセル]コピーするとオブジ...
-
VB6でのファイルコピーの終了検...
-
FTPとファイルコピーの違いにつ...
-
エクセルVBAで開いているファイ...
-
エクセル2010、図が大きすぎま...
-
同じファイル名 上書きしないフ...
-
アクセス クエリを別のファイ...
-
開いている別のファイルにExcel...
-
バッチファイル 別ファイルにリ...
-
ファイルをコピーできない
-
バッチでリストに基づきサブフ...
-
Gitについて質問。 クローンし...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
エクセルで複数のコメントのサ...
-
同じファイル名 上書きしないフ...
-
エクセルのハイパーリンクがコ...
-
Vba初心者です。下記のコード助...
-
frxファイルの役目
-
バッチファイル XCOPYで上書き...
-
エクセル2010、図が大きすぎま...
-
[エクセル]コピーするとオブジ...
-
バッチファイルのコピーで
-
ファイルサーバ上のファイルが...
-
xcopyでのバッチコピー方法でコ...
-
アクセス クエリを別のファイ...
-
vbsでExcelのシートをコピーす...
-
バッチファイル 別ファイルにリ...
-
FTPとファイルコピーの違いにつ...
-
開いている別のファイルにExcel...
-
LAN接続HDD(LinkStation)で削...
-
パワポでスライドをコピーでき...
-
bat 同名ファイルコピー時にリ...
-
ゴミ箱に移動するような削除を...
おすすめ情報