
お世話になります。
多分ご存知の方には簡単な話だと思いますが教えていただけませんか。
Aフォルダにあるhoge.txtをBフォルダにコピーしたければ
use File::Copy;
copy "./A/hoge.txt", "./B/hoge.txt" or die $!;
で出来るのはわかっているのですが、Aフォルダにある全てのファイルをBフォルダにコピーするというのはどのようなコードを書いたらよいのでしょう。
ちなみにAフォルダには100以上ファイルがあります。ファイルは全部テキストファイルです。
No.1ベストアンサー
- 回答日時:
$src_dir = "./a";
$dst_dir = "./b";
opendir(DIR, "$src_dir");
my @Files = grep { -f "$src_dir/$_" && /\.txt/ } readdir(DIR);
closedir DIR;
foreach my $file (@Files) {
copy ...
}
こんな感じですかね
この回答への補足
すみません。ほとんど素人なんで。。。その『copy ..』のところも明記してもらうとすごく助かるんですけど、お願いできませんでしょうか
補足日時:2009/02/03 20:39No.5
- 回答日時:
ヒントでは無理なようなので、具体的に・・・。
例では、./log/A/○○.txt のようなパスの場合の記述です。
my $dir = '/log';# 対象ディレクトリ名(相対パスでもOKです)
opendir DH, $dir or die "$dir:$!";
while (my $file = readdir DH) {
use File::Copy;
copy "./A/$file, "./B/$file" or die $!;
}
closedir DH;
以上。未チェックですが。
結局いろいろ自身でも勉強して、#1の方の回答を理解できました。
おかげさまで何とか目的を果たせました。
他にも沢山のご指導をいただけて感謝しています。
何か回答を追う毎に話が難しくなってきたようです。私の理解の範疇を超えてきました。早く皆様の域に達せられるように努力します。

No.4
- 回答日時:
ファイルの再帰的なコピーをする場合、unixで提供されている
cp -R(又は-r)コマンドが使用できます。
これをsystem関数を使用して、呼び出してはいかがでしょうか。
No.3
- 回答日時:
や, 多分 #2 は
use File::Copy::Recursive;
して
rcopy_glob
使えってことなんだろうけど...
rcopy_glob("./A/*.txt", "./B");
みたいな感じで使えるんじゃないかなぁと思う. ちなみにそこで参照してる URL の内容がチンプンカンプンなのはしょうがないね. 誤訳が多すぎ. これなら英語を読んだ方がまだ意味がわかる... と書きたいところだけど英語も微妙にあやしい気がする.
No.2
- 回答日時:
File::Copy::Recursive でいいやん
この回答への補足
foreach my $file (@Files) {
File::Copy::Recursive;
}
ですか? エラーは出ませんがファイルもコピーされません。
検索してこんなページ見つけたけど・・・あぁチンプンカンプン
http://perldoc.jp/docs/modules/File-Copy-Recursi …
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
パスから最後のディレクトリだ...
-
batファイルでrenameができませ...
-
Windowsで複数のファイルを同じ...
-
ANSI Cでファイル名、ディレク...
-
chdirがうまくできない
-
DOSコマンドで、標準出力を出力...
-
drtファイルはどうしたら開...
-
VBAでCSVファイルを途中行まで...
-
sprintfで10進数を桁数指定で16...
-
window.open でのファイル指定方法
-
バッチファイルの作り方(CSV→...
-
タブの色を変更する方法
-
エラーログ「\\x8ew\\x92\\xe8...
-
テキストファイルから日本語部...
-
JavaでCSVファイルを高速に読む...
-
C言語で特定の行を抽出する方法...
-
awkスクリプトでダブルクォーテ...
-
openした後、closeしないでプロ...
-
VB6.0でDB接続する際に切断時の...
-
検索ボックスから製品名を検索...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
batファイルでrenameができませ...
-
Windowsで複数のファイルを同じ...
-
FindFirstFileとFindNextFileで...
-
readdir()で得られるファイル・...
-
ディレクトリ名を取得したい
-
ディレクトリの判別
-
vba dir の相対パス
-
C言語でファイル名を取得
-
パスから最後のディレクトリだ...
-
複数ファイルの読み込みについて
-
chdirがうまくできない
-
dos変数の%~dp0は powershellで...
-
CGI::Sessionの使い方
-
コマンド「dir」の結果を、テキ...
-
エラー 'dir.h' : No such fi...
-
LinuxのC言語で、ファイル名の...
-
正規表現で、特定のファイル名...
-
フォルダの中身を知りたい
-
シンボリックリンクを検出でき...
-
makefileでファイルをコピー(...
おすすめ情報