お世話になります。
多分ご存知の方には簡単な話だと思いますが教えていただけませんか。
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で質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) 【VBA】指定フォルダに格納中のテキストファイルをエクセルで処理し結果のエクセルを新規フォルダに保存 1 2022/03/25 14:19
- グループウェア 一太郎がイントラで開けません。対処方法を知りたいです。 3 2023/04/04 13:30
- Excel(エクセル) 1つのファイルを複数のフォルダにファイル名を【明日の日付】にして、コピーしたい 5 2022/12/13 20:11
- Visual Basic(VBA) エクセルのマクロについて教えてください。 1 2023/08/08 11:02
- その他(プログラミング・Web制作) フォルダ内の特定 拡張子のファイルを一括実行するBat ファイルについて 4 2022/04/17 09:51
- UNIX・Linux Ubuntu でinvalid filenameとなるファイルをコピーする方法 3 2023/06/08 22:26
- Excel(エクセル) エクセルのマクロについて教えてください。 1 2023/02/03 13:18
- Excel(エクセル) 【マクロ】ファイルを古い順に、1個ずつ移動する 1 2022/09/06 20:30
- Visual Basic(VBA) エクセルのマクロについて教えてください 物件ごとのフォルダを作成してます そのフォルダ内にサブフォル 2 2023/07/02 17:58
- Excel(エクセル) 1つのファイルを複数のフォルダにファイル名を【明日の日付】にして、コピーしたい 5 2022/12/13 04:23
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
batファイルでrenameができませ...
-
パスから最後のディレクトリだ...
-
複数ファイルの読み込みについて
-
Windowsで複数のファイルを同じ...
-
Director拡張子
-
perlのNet::FTPで、ファイルか...
-
readdir()で得られるファイル・...
-
dos変数の%~dp0は powershellで...
-
エクセルVBA コードが同じでも...
-
ExcelをCSV書き出す場合のシー...
-
空白文字 \\f と\\v の違いに...
-
python renameについて
-
Perlで特定行から特定行までを...
-
HTTP::Request::Common qw(POST...
-
close()で例外が投げられる理由
-
openした後、closeしないでプロ...
-
VBAでCSVファイルの特定行を書...
-
バッチファイルの作り方(CSV→...
-
Pythonでegrep機能をつかいたい
-
csvで順番の入れ替え
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
batファイルでrenameができませ...
-
readdir()で得られるファイル・...
-
ディレクトリ名を取得したい
-
パスから最後のディレクトリだ...
-
Windowsで複数のファイルを同じ...
-
C言語でファイル名を取得
-
FindFirstFileとFindNextFileで...
-
Perlで フォルダ内の全て...
-
エラー 'dir.h' : No such fi...
-
vba dir の相対パス
-
一定時間が経過したフォルダの削除
-
テキストファイルの結合
-
LinuxのC言語で、ファイル名の...
-
chdirがうまくできない
-
複数のCSVファイルを一つのCSV...
-
ディレクトリの判別
-
空白を含むディレクトリにある...
-
Perl 特定のフォルダ以外削除
-
正規表現で、特定のファイル名...
-
dos変数の%~dp0は powershellで...
おすすめ情報