2011-05-02 57 views
2
#!/usr/bin/perl 

use File::Copy; 
use File::Copy::Recursive; 

$old_folder=$ARGV[0]; 
$new_folder=$ARGV[1]; 
$folder_loc=$ARGV[2]; 

print "Content-type:folder rename\n\n"; 

#rename($arg1,$arg2) || print "Don't have permission to rename.<br><br>"; 
File::Copy::Recursive::dircopy("$folder_loc/$old_folder","$folder_loc/$new_folder"); 

print "Renaming Done!"; 

exit; 

这里我的旧文件夹也存在后文件夹rename.how我可以在重命名后删除旧文件夹。请帮助我重命名文件夹没有旧文件夹

回答

5

我想你想使用File::Copy::Recursive::dirmove,而不是dircopy

+0

非常感谢宏,还有一两件事,我的文件大小约为1.2GB,所以它采取25分钟的时间来重新命名它有没有减少时间的方法。 – picnic4u 2011-05-05 16:07:17

+0

@ picnic4u:不客气!关于您的其他问题:我假设您有一个**目录**,其大小约为1.2 Gb,并且包含多个文件和子目录。在这种情况下,磁盘访问时间是限制性能的因素,对此你可以做的事情不多。另一种方法是,假设你的程序在linux上运行,就是使用linux'mv'命令,你可以使用['system()'](http://perldoc.perl.org/functions/system.html )。 – MarcoS 2011-05-05 16:20:58

+0

@macroS:我使用Windows系统。所以对我来说任何建议 – picnic4u 2011-05-06 04:54:17

相关问题