燈明ブログ

現状は小池啓仁の応援ブログ

WIN系でフォルダをコピーするには

Perlでは、system関数やバッククォートで外部コマンドが実行できます。


linux系ではcpコマンドの-rオプションで、インタラクティブなしにディレクトリ(フォルダ)のコピーができます。
しかし、WIN系では、copyコマンドはファイルのコピーで、xcopyコマンドではインタラクティブなフォルダコピーです。


なので、Perlで、WIN系で、インタラクティブなしで、フォルダのコピーをするには、外部コマンドでは、難しいわけです。
そんなときは、File::Copy::Recursiveモジュールのdircopyが使えます。
ただ、標準モジュールでないので、CPANからインストールが必要です。

サンプルソース

use strict;
use warnings;
use File::Copy::Recursive qw(dircopy);

dircopy 'back' , 'back2' or die $!;

◆モジュールインストール

C:\> ppm install File::Copy::Recursive