perl怎么拷贝一个文件到另一个文件夹中或者怎么拷贝文件夹到另一个文件夹

File::Copy 主要提供了copy和move函数#!/usr/bin/perluse strict;

use warnings;
use File::Copy;
my $filein=$ARGV[0];
my $fileout=$ARGV[1];#copy($file1, $dir1);将文件$file1复制到文件夹$dir1中;copy($filein,$fileout) or die "copy $filein to $fileout failed\n";
#move($file2,$dir2);将文件$file2移动到文件夹$dir2中move($fileout,"$fileout.test") or die "mv $fileout to $fileout.txt failed\n";

#如果文件夹不存在,则创建该文件夹if(!(-e $dir)){  mkdir $dir or die ; }

cp($dir3,$dir4);#把文件夹$dir3复制到文件夹$dir4rename($dir4,‘dir_4‘) ;#将文件夹dir4重命名为dir_4rmove($dir5,$dir6);#将文件夹dir5移动到dir6

注意哦,上面删除文件用的是rmdir(),这个要求必须是空文件夹才可以删除;

实话说,这个空文件夹的删除用的实在是少啊;

所以,安利remove_tree,可以移除非空文件夹;

但是需要导入模块File::Path;

也就是在程序开头加入:use File::Path qw(make_path remove_tree)

时间: 2024-10-07 06:08:35

perl怎么拷贝一个文件到另一个文件夹中或者怎么拷贝文件夹到另一个文件夹的相关文章

Path,Files巩固,题目:从键盘接收两个文件夹路径,把其中一个文件夹中(包含内容)拷贝到另一个文件夹中

这个题目用传统的File,InputStream可以做,但是如果用Files,Path类做,虽然思路上会困难一些,但是代码简洁了很多,以下是代码: import java.io.IOException; import java.nio.file.FileVisitResult; import java.nio.file.Files; import java.nio.file.Path; import java.nio.file.Paths; import java.nio.file.Simple

如何将一个文件夹复制到另一个文件夹中并保留其权限

概要 本文分步介绍了如何将一个文件夹复制到另一个文件夹中并保留其权限.   当您使用 Windows Explorer 复制或移动文件和文件夹时,在这些文件或文件夹上设置的权限可能会发生改变.例如,当您在一个 NTFS 文件系统卷内或在两个 NTFS 卷之间复制一个文件时,Windows 2000 将把它当作一个新文件.作为一个新文件,它将具有目标文件夹的权限,您将成为"创建者所有者".    注意:您必须对目标文件夹具有"写"权限才能复制文件和文件夹.    可以

VMware虚拟机文件夹中各文件作用详解

虚拟机的文件管理由VMware Workstation来执行. 一个虚拟机一般以一系列文件的形式储存在宿主机中, 这些文件一般在由workstation为虚拟机所创建的那个目录中. 这里列出了这些关键文件及其扩展名. 在以下说明例子中,<vmname>表示创建的虚拟机名字. -------------------------------------------------------------------- .log文件 文件类型说明:文本文件 <vmname>.log or v

sublimeText3 中配置sass环境,并将编译后文件保存到指定文件夹

sass基于ruby引擎,所以安装时ass.compass之前需要安装ruby.具体的链接应该是(http://rubyinstaller.org/downloads).下载并安装相应的版本,勾选第二项(要在cmd中使用ruby). 打开命令行,输入ruby -v,查看我们安装的ruby版本信息. ruby安装完成之后,打开ruby的command面板,接下来就是安装sass了.Windows下安装sass有多种方法,这里说一下其中的两种: 1.到 Rubygems(http://rubygem

读取文件夹下所有子文件夹中的excel文件,并根据分类合并

解决的问题:需要读取某个大文件夹下所有子文件夹中的excel文件,并汇总,汇总文件中需要包含的2部分的信息:1.该条数据来源于哪个子文件夹:2.该条数据来源于哪个excel文件.最终,按照子文件夹单独保存汇总文件,或者只保存成一个汇总文件. 场景描述:抓取了各个APP的使用数据,分散地保存在各个文件夹中.文件格式如下: 第一级分类:文件夹名 第二级分类:文件夹下xlsx文件名 第三级分类:每个xlsx文件中每行(具体的每条数据),但其中并没有该APP属于的二级分类和一级分类,需要为每条数据添加二

从键盘接收两个文件夹路径,把其中一个文件夹(包含内容),拷贝到另一个文件夹中

package cn.it.text; import java.io.BufferedInputStream; import java.io.BufferedOutputStream; import java.io.File; import java.io.FileInputStream; import java.io.FileOutputStream; import java.util.Scanner; /* * 1.从键盘接收两个文件夹路径,把其中一个文件夹(包含内容) * 拷贝到另一个文件

编写函数,以读模式打开一个文件,将其内容读入到一个string的vector中,将每一行作为一个对立的元素存于vector中

#include<iostream> #include<string> #include<vector> #include<fstream> using namespace std; int main(int argc,char *argv[]) { ifstream input(argv[1]); vector<string> vec; string tmp; while(getline(input,tmp)) { vec.push_back(

一个批量修改文件夹中文件名的命令

1. 只修改当前目录下的文件 [root]# rename -s  \.png  \_iphone.png  * 这个是修改目录下 的所有文件名,加入一个后缀 如: 1.png    ->>>   1_iphone.png 2. 递归修改当前目录下的所有子文件夹 [root]# find ./ -name  "*.png" | xargs  -I {} rename -s \.png  \_iphone.png  {} 如: 2.png    ->>>

在eclipse导入项目如何将多个项目放入一个文件夹中

在Package Explorer顶部的右侧有有机表图标按钮, 点击倒三角 Top Level Elements->Working Set.此时就会发现,很多项目会自动纳入一个文件夹,这个文件夹的名字叫做other Projects,这是默认的 如果想自己建立自己的文件夹,点击倒三角,Configure Working Set,会出现弹框. 出现弹框后,点击New按钮,就可以创建文件夹. 在此界面,双击某一文件夹,就会进入编辑界面,可以修改文件夹名称,也可以选择将 那个项目放置到该目录下. 想删