在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);//关闭文件流.
    ?>

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

  1. DOS批处理命令判断操作系统版本、执行各版本对应语句

    DOS批处理命令判断操作系统版本.执行各版本对应语句   昨天在家里试用  netsh interface ip set address 这些命令更改上网IP.DNS.网关等,今天将那些代码拿来办公室 ...

  2. DOS批处理命令递归删除给定的文件(夹),兼VC工程清理小工具

    使用dos批处理命令递归删除指定的文件(夹): (下面内容针对清理VC工程!自己按说明任意修改) 2014-06-10修改:删除前增加了[y,n]询问: echo off rem 递归删除当前文件下指 ...

  3. DOS批处理命令-引数取得

    参数传递对程序来说,是一个很重要的事情,所以,获得传递的参数是很重要的,接下来,我们来探讨下获得传递的参数的N种方式. 1.%N  获得传递的第N个参数(N最大为9) 就是传递过去的参数原样值(并且忽 ...

  4. DOS 批处理命令For循环命令详解

    for命令是一种对一系列对象依次循环执行同一个或多个命令的在命令行或批处理中运行的命令,结合一些Windows管理中的程序后,其处理功能强大.应用灵活方便程度令人刮目相看   for命令是一种对一系列 ...

  5. DOS批处理命令

    1.echo的用法(echo /? --查看帮助) echo off/on  打开关闭回显功能(@echo off 关闭回显并且不需要回显 echo 命令) echo,   显示空行(也可以是; . ...

  6. DOS批处理命令-for语句

    for是为了循环执行一系列命令而执行的命令语句. for要处理的内容不同,语法结构稍有不同.下面就各种情形来分别 1.基本的语法:FOR %変数 IN (set) DO 命令 [参数] 语法内容解析: ...

  7. DOS批处理命令-if语句

    IF语句是批处理中执行的条件分歧处理. 批处理中,IF分歧的写法有好几种,接下来,我们来一个一个的分析IF语法的结构. 1.IF [NOT] ERRORLEVEL 番号 批处理命令 当ERRORLEV ...

  8. DOS批处理命令-几个固定名称的变量

    批处理中有一些变量的变量名称是固定的,具有特定的意义,接下来,我们来看看这些有特定意义的变量到底有什么意义. 1.%CD%   当前路径的路径名[盘符 + 路径]    - 現在のディレクトリ文字列に ...

  9. DOS批处理命令-CMD命令

    CMD命令是重新开始一个命令解析器的实例.当然,他的功能并不止这么简单. Windows コマンド インタープリターの新しいインスタンスを開始します. 语法结构 CMD [/A | /U] [/Q] ...

随机推荐

  1. 安装ubuntu后,你的屏幕尺寸太小,无法设置,该怎么解决

    安装完虚拟机之后,你的Ubuntu可能会在尺寸很小,(这种情况可能有,可能没有) 想要点击设置,选中Display里的分辨率下拉框,但是却因为这个窗口太大,无法点击apply按钮.悲剧啦!!! Ctr ...

  2. 美秒快报 移动端API接口后台制作总结

    1.创建方法时,不要用index这类的不易显示该方法功能的单词,尽量使用功能的缩写 例如: public function xssc(){} 2.尽量少用Request方法,多用input助手方法获取 ...

  3. 三、K3 WISE 开发插件《K3 WISE开发手册》

    1.VB插件工程的命名.命名空间和生成的DLL命名要一致,否则导致注册不成功! 2.主控台的查询分析工具,添加sql直接报表,代码用到临时表,提示“在对应所需名称或序数的集合中未找到项目” 解决:在代 ...

  4. 网狐荣耀平台找不到存储过程 'GSP_GS_LoadGameMatchItem'错误解决

    把RYGameMatchDB的存储过程复制到RYGameScoreDB即可,GSP_GS_InsertGameMatchItem和GSP_GS_DeleteGameMatchItem也一样 由于存储过 ...

  5. 升级后重启造成fsck.ext3: Unable to resolve UUID

    这篇文章帮了我的大忙了:转载自:http://wilber82.blog.51cto.com/1124820/724472 今天在做服务器补丁部署,有一台ESX4.1的服务器在升级后重启过程中挂了,通 ...

  6. linux route命令详解

    考试题一:linux下如何添加路由(百度面试题) 以上是原题,老男孩老师翻译成如下3道题. a.如何用命令行方式给linux机器添加一个默认网关,假设网关地址为10.0.0.254? b. 192.1 ...

  7. 【咸鱼教程】基于系统时间的计时器DateTimer(不受FPS影响)

    教程目录一 计时器简介二 计时器实现三 Demo下载 一 计时器简介在手机上跑游戏时,可能由于运动物体过多,导致帧频太低,计时不准确.比如一些倒计时的游戏,可能倒计时30s,变成了35s.比如ipho ...

  8. Centos6.5安装pip命令以及中途遇到的问题

    一.Centos6.5安装pip命令时可能会遇到的问题 1.安装setuptools模块时python安装模块时报异常:Compression requires the (missing) zlib ...

  9. 执行环境可以在SQLPLUS.EXE或者DOS(命令行)中执行

    Oracle数据导入导出imp/exp就相当于oracle数据还原与备份.exp命令可以把数据从远程数据库服务器导出到本地的dmp文件,imp命 令可以把dmp文件从本地导入到远处的数据库服务器中. ...

  10. JPA的锁机制

    JPA 各种实体锁模式的区别 字数2084 阅读304 评论0 喜欢4 为了能够同步访问实体,JPA提供了2种锁机制.这两种机制都可以避免两个事务中的其中一个,在不知情的情况下覆盖另一个事务的数据. ...