2011-05-02 58 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

相關問題