首页 > 代码库 > cocos2d-x教程3:用php或DOS批处理命令来转换文件和解压缩zip
cocos2d-x教程3:用php或DOS批处理命令来转换文件和解压缩zip
在cocos2d-x使用中,需要不停的转换文件和压缩或解压文件,如果全人工来做,太麻烦了,且容易出错。我现在把一些用的到批处理贴出来,供大家使用
- 自动把dat文件按数字排序重命名gz,DOS批处理
- @echo off&setlocal EnableDelayedExpansion
color 0a
echo %date% %time%
echo 正在批量重命名文件......
set a=1
for /f "delims=" %%i in (‘dir /b *.dat‘) do (
if not "%%~ni" == "%~n0" (
if !a! LSS 10 (ren "%%i" "0!a!.gz")else (ren "%%i" "!a!.gz")
set /a a+=1
)
)
set /a a-=1
echo 重命名完成,共重命名%a%个文件。
pause - php解压zip.配置php.ini 要使用该PHP扩展类,需要(PHP 5 >= 5.2.0, PECL zip >= 1.1.0),部分方法需要 PHP 5.2.+,且php.ini配置支持zip
对于win系统,直接去掉php_zip.dll 扩展的注释,然后重启http服务(IIS或Apache)即可 - $zip = new ZipArchive;
$res = $zip->open(‘AM.ZIP‘);
if ($res === TRUE) {
echo ‘ok‘;
//解压缩到test文件夹
$zip->extractTo(‘AM‘);
$zip->close();
} else {
echo ‘failed, code:‘ . $res;
} - php循环重命名
- $s=explode("\n",trim(`dir/b d:\\tmp\\`));//获取该路径下所有文件名
//print_r($s);
foreach($s as $rs)
{
$name=explode(".",$rs);
$file_name=$name[0];//获取要创建的文件夹名字
//mkdir("E:/11-2/caps/$file_name");//创建文件夹
rename(‘d:/tmp/‘.$rs,"d:/tmp/$file_name".".gz");//移动并重命名文件
} - php循环自解压
- $s=explode("\n",trim(`dir/b d:\\tmp\\`));//获取该路径下所有文件名
//print_r($s);
foreach($s as $rs)
{
$name=explode(".",$rs);
$file_name=$name[0];//获取要创建的文件夹名字
//mkdir("E:/11-2/caps/$file_name");//创建文件夹
rename(‘d:/tmp/‘.$rs,"d:/tmp/$file_name".".gz");//移动并重命名文件
//
$zip = new ZipArchive;
$tmpFile=$file_name.".gz";
$res = $zip->open($tmpFile);
if ($res === TRUE) {
echo ‘ok‘;
//解压缩到test文件夹
$zip->extractTo($file_name);
$zip->close();
} else {
echo $tmpFile.‘failed, code:‘ . $res."<br>";
}
} - php循环读取目录,然后自动解压
- $s=explode("\n",trim(`dir/b d:\\tmp\\`));//获取该路径下所有文件名
//print_r($s);
foreach($s as $rs)
{
$name=explode(".",$rs);
$file_name=$name[0];//获取要创建的文件夹名字
//mkdir("E:/11-2/caps/$file_name");//创建文件夹
rename(‘d:/tmp/‘.$rs,"d:/tmp/$file_name".".gz");//移动并重命名文件
//
$zip = new ZipArchive;
$tmpFile=$file_name.".gz";
$res = $zip->open($tmpFile);
if ($res === TRUE) {
echo ‘ok‘;
//解压缩到test文件夹
$zip->extractTo($file_name);
$zip->close();
} else {
echo $tmpFile.‘failed, code:‘ . $res."<br>";
}
} - 把一个文件拷贝到同名文件夹下的另外一个文件。例如effect01.png 拷贝到effect01目录下的sheet.png
- <?php
$fnum = 0;
$path="d://wamp/www/my/";##路径
$handle = @ opendir($path) or die("无法打开目录");
$arr=array();##定义保存存在的文件
$imgs=array("1.jpg","11.jpg");//测试假使匹配这2个文件
if($handle){
while (false !== ($file = readdir($handle))){//存在文件
if($file != ‘.‘ && $file != ‘..‘){##不为..
//$img=substr($file,strripos($file,".")+1);//判断后缀名
//if($img=="pvr"){
$v=$file.".png";
$newname="$file/sheet.png";
if(rename($v,$newname))
{
echo ‘成功将‘.$v.‘重命名‘.$newname.‘<br />‘;
}
//删除旧文件
$oldFile="$file/sheet.pvr";
if(unlink($oldFile)){
echo "成功将".$oldFile."删除!<br />";
}
//}
$fnum++;
}
}
}
closedir($handle);//关闭文件流.
?>
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。