【问题标题】:Rename the dir once update is finished - perl更新完成后重命名目录 - perl
【发布时间】:2014-11-27 20:57:43
【问题描述】:

平台 - Windows7

我正在寻找一个可以更改最新修改目录名称的脚本:

这是我获取最新修改目录的方法:

my $epoch_timestamp = (stat("logdir"))[9];
@date=localtime($epoch_timestamp);
$date[5] +=1900;
$date[4] +=1;
print "$date[5]-$date[4]-$date[3] $date[2]:$date[1]:$date[0]\n";

exp : c:/dir_name/renamedir

我有一个文件夹c:/dir_name;在里面我一个接一个地复制一个文件夹。我需要更改已完全复制的文件夹的名称。

c:/dir_name/renamedir1 c:/dir_name/renamedir2

我面临的问题: 更新完成后,我需要更改名称,即在所有文件都复制到目录之后。

那么任何人都可以告诉我为什么我们可以确定所有文件都已复制到文件夹中?

【问题讨论】:

  • 您的问题需要更多细节 - 事实上,我们无法判断您在问什么。
  • 我添加了更多信息,希望对您有所帮助。
  • 要重命名一个目录,看看 move in File::Copy (search.cpan.org/~rjbs/perl-5.18.4/lib/File/Copy.pm)。除此之外,不知道问题是什么,抱歉。

标签: perl


【解决方案1】:

你可以试试这个方法吗:

 use File::Copy;

 my $origDir = 'C:\dir_name\renamedir1\file1.txt';
 my $desDir = 'C:\dir_name\renamedir2\file1.txt';

 #Check whether the files copied or not 
 copy($origDir, $desDir) || die "Couldn't able to copy the files: $!";

另一方面,尝试比较文件夹/子文件夹/文件。并从以下链接获取参考:

How to compare two directories and their files in perl

【讨论】:

    猜你喜欢
    • 2012-01-17
    • 2014-11-08
    • 1970-01-01
    • 2020-12-08
    • 1970-01-01
    • 1970-01-01
    • 2011-07-15
    • 2020-06-30
    • 1970-01-01
    相关资源
    最近更新 更多