在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. C++ template —— 模板特化(五)

    本篇讲解模板特化-------------------------------------------------------------------------------------------- ...

  2. 微信小程序源码案例大全

    微信小程序demo:足球,赛事分析 小程序简易导航 小程序demo:办公审批 小程序Demo:电魔方 小程序demo:借阅伴侣 微信小程序demo:投票 微信小程序demo:健康生活 小程序demo: ...

  3. 【架构师之路】 LVS+Keepalived实现高可用负载均衡

    一.原理        1.概要介绍        如果将TCP/IP划分为5层,则Keepalived就是一个类似于3~5层交换机制的软件,具有3~5层交换功能,其主要作用是检测web服务器的状态, ...

  4. jquery validator

    jQuery.validate是一款非常不错的表单验证工具,简单易上手,而且能达到很好的体验效果,虽然说在项目中早已用过,但看到这篇文章写得还是不错的,转载下与大家共同分享. 一.用前必备 官方网站: ...

  5. 2015.7.8js-05(简单日历)

    今天做一个简单的小日历,12个月份,鼠标移动其中一个月份时添加高亮并显示本月的活动.其实同理与选项卡致.不过是内容存在js里 window.onload = function(){ var oMain ...

  6. Artech的MVC4框架学习——第一章初步认识ASP.NET MVC

    前言: Artech觉得掌握ASP.NET MVC具有三个层次. 第一层了解基本的编程模式,掌握Controller和View的定义方式,知道路由如何注册以及验证规则如何定义. 第二个层次要求我们对A ...

  7. linux下模拟CPU占用100%小程序

    在做一个测试时,需要模拟服务器CPU占用满的情况,在查阅相关资料后,发现网上程序不太好用, 原文在这:http://www.2cto.com/os/201304/202068.html 优化后如下: ...

  8. 获取页面所有链接的JS

    写了一个实用的JS脚本,获取当前页面所有的JS: var str = " \n"; var list = document.getElementsByTagName("a ...

  9. Java 多线程 ---- 线程中this与 Thread.currentThread()线程的区别

    总结起来一句话:在Thread中调用this其实就是调用Thread私有Runnable类型的target,target是Thread类的一个属性,而Thread.currentThread()是指新 ...

  10. jqGrid 中的editrules来自定义colModel验证规则

    editrules    editrules是用来设置一些可用于可编辑列的colModel的额外属性的.大多数的时候是用来在提交到服务器之前验证用户的输入合法性的.比如editrules:{edith ...