<?php
// ***********UI修改部分**********************
//这里是你的文件所在目录,可更改
$data_dir = "e:/小说" ;
//模式匹配数据文件,必须是英文名称,必须是Ansi编码,可更改
$pattern_file = "{$data_dir}/rename_data.txt" ;
//模式匹配分隔符,可以更改
$pattern_schar = "_" ;
//要重新命名的文件的后缀名称 -- 例如 .doc
$distfile_suffix = ".txt" ;
// *******************************************************
$files = scandir($data_dir) ;
$files_count = count($files) ;
print "要操作的文件个数: " .($files_count -4) . "\n";
if (is_file($pattern_file)){
$datas = file($pattern_file);
}else
die("\n未指定模式匹配数据文件\n");
function getDistName($sr_basename){
for($i=0;$i<count($GLOBALS['datas']);$i++){
$_a = explode("_",$GLOBALS['datas'][$i]) ;
if ($sr_basename == $_a[0]){
return trim($GLOBALS['datas'][$i]) ;
}
}
return '' ;
}
for($i=2;$i<$files_count;$i++) //去掉 . 和 ..
{
$current_file = "{$data_dir}/{$files[$i]}" ;
if ($pattern_file == $current_file)
continue ;
if (is_file($current_file)){
$oo = basename($current_file,$distfile_suffix);
$_oo = getDistName($oo);
if (empty($_oo))
continue ;
$newname = "{$data_dir}/{$_oo}{$distfile_suffix}" ;
rename($current_file,$newname );
echo "{$current_file} ==> {$newname}\n " ;
}
}
?>
rename_data.txt
玩笑_111000111
色色_221188990
效果看附件图片

本文介绍了一个使用PHP编写的脚本,该脚本能够根据预设的模式匹配规则来批量重命名指定目录下的文件。通过配置文件路径、文件后缀及模式匹配规则等参数,实现对小说文件夹中特定格式文件的自动重命名。
6078

被折叠的 条评论
为什么被折叠?



