cocos2d-x教程3:用php或DOS批处理命令来转换文件和解压缩zip

在cocos2d-x使用中,须要不停的转换文件和压缩或解压文件。假设全人工来做,太麻烦了,且easy出错。

我如今把一些用的到批处理贴出来,供大家使用

  • 自己主动把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);//关闭文件流.
    ?>

上一篇:json的细节


下一篇:DOS批处理命令-几个固定名称的变量