perl copy只能复制文件,不能复制文件夹,因此只能用外扩包进行文件夹的复制
包的下载步骤:
搜索File::Copy::Recursive;
点击第一个并下载;
下载后解压,获取File-Copy-Recursive-0.45\lib\File\Copy路径下的Recursive.pm,复制到perl文件所在的目录
使用方法:
用文本编辑器打开包,将包名package File::Copy::Recursive改为package Recursive;
在perl文件中调用,这里我.pl文件所在的路径为‘F:\VirtualShare\Script';
调用方法:my $copy_ret=Recursive::dircopy($sou_path,$tar_path) or die $!;
sou_path=sou_dir+foldername;
tar_path=tar_dir+tar_refoldername;
dir表示不含文件夹名的路径,foldername是文件夹名,相应的tar_refoldername是将文件夹复制到目标路径的重命名的文件名,如名字不想改,可以让redoldername为foldername(注:路径中注意dir与foldername的连接符,win下“\",linux下”/“。
参考博文https://blog.csdn.net/xuexiaokkk/article/details/51728340有所更改