人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

Perl について質問いたします。自分のwindowsXPにActivePerlをつんでいます。

あるフォルダを別のフォルダにコピーしたいのです。

フォルダごとコピーできる方法はないでしょうか?

少し調べたましたが見つけることができませんでした。

copyを使って、1ファイル1ファイルコピーしていくしかないのでしょうか?

●質問者: zachouR
●カテゴリ:インターネット ウェブ制作
✍キーワード:Perl WindowsXP つん コピー ファイル
○ 状態 :終了
└ 回答数 : 3/3件

▽最新の回答へ

1 ● KUROX
●27ポイント

system関数使って、XCOPYコマンドを使う

■Perl-system関数

http://www.tohoho-web.com/wwwperl2.htm#system

■XCOPYコマンド

http://itpro.nikkeibp.co.jp/free/NT/WinKeyWord/20040805/1/xcopy....

-----------

4:[完了] みたいなPerlのコードを書いても良いかもしれません。

http://chaichan.web.infoseek.co.jp/qa2000/qa2015.htm

◎質問者からの返答

ありがとうございます。

いろいろと試してみましたが、今回はFile::Copy::Recursiveを使用しました。


2 ● b-wind
●27ポイント

File::Copy::Recursive - Perl extension for recursively copying files and directories - search.cpan.org

このモジュールを使えば出来そうです。


ActivePerlであれば ppm からインストールできます。

◎質問者からの返答

File::Copy::Recursive

を利用してうまくいきました。

ありがとうございます。


3 ● hash-9121
●26ポイント

3つの方法

ディレクトリの階層コピーを行う

http://www.tt.rim.or.jp/~canada/comp/cgi/tech/dircopy/

ppm で簡単にいれれるのですね。今までcygwinでmakeしてました。

use File::Copy::Recursive qw(fcopy rcopy dircopy);

$from = "c:/work/editor"; #コピー元ディレクトリ名

$to = "c:/work/aaa"; #コピー先ディレクトリ名(絶対パス)

dircopy($from, $to) or die $!;

おすすめはコレ。

perlではないですがunixと同じに使えるので便利です。

全コピーよりも差分コピーの方が更新状況も分かって便利。

cygwinに入っている物を使うか、http://www.itefix.no/phpws/ を使って下さい。

editor ディレクトリ丸ごとコピー

c:\bin\cwRsync\bin>rsync -avz --delete /cygdrive/c/work/editor /cygdrive/c/work/aaa

editor ディレクトリの中身をコピー

c:\bin\cwRsync\bin>rsync -avz --delete /cygdrive/c/work/editor/ /cygdrive/c/work/aaa

◎質問者からの返答

ありがとうございます。

最終的に、File::Copy::Recursiveを使いました。

非常にべんりですねー。

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ