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);//关闭文件流.
?>
cocos2d-x教程3:用php或DOS批处理命令来转换文件和解压缩zip的更多相关文章
- DOS批处理命令判断操作系统版本、执行各版本对应语句
DOS批处理命令判断操作系统版本.执行各版本对应语句 昨天在家里试用 netsh interface ip set address 这些命令更改上网IP.DNS.网关等,今天将那些代码拿来办公室 ...
- DOS批处理命令递归删除给定的文件(夹),兼VC工程清理小工具
使用dos批处理命令递归删除指定的文件(夹): (下面内容针对清理VC工程!自己按说明任意修改) 2014-06-10修改:删除前增加了[y,n]询问: echo off rem 递归删除当前文件下指 ...
- DOS批处理命令-引数取得
参数传递对程序来说,是一个很重要的事情,所以,获得传递的参数是很重要的,接下来,我们来探讨下获得传递的参数的N种方式. 1.%N 获得传递的第N个参数(N最大为9) 就是传递过去的参数原样值(并且忽 ...
- DOS 批处理命令For循环命令详解
for命令是一种对一系列对象依次循环执行同一个或多个命令的在命令行或批处理中运行的命令,结合一些Windows管理中的程序后,其处理功能强大.应用灵活方便程度令人刮目相看 for命令是一种对一系列 ...
- DOS批处理命令
1.echo的用法(echo /? --查看帮助) echo off/on 打开关闭回显功能(@echo off 关闭回显并且不需要回显 echo 命令) echo, 显示空行(也可以是; . ...
- DOS批处理命令-for语句
for是为了循环执行一系列命令而执行的命令语句. for要处理的内容不同,语法结构稍有不同.下面就各种情形来分别 1.基本的语法:FOR %変数 IN (set) DO 命令 [参数] 语法内容解析: ...
- DOS批处理命令-if语句
IF语句是批处理中执行的条件分歧处理. 批处理中,IF分歧的写法有好几种,接下来,我们来一个一个的分析IF语法的结构. 1.IF [NOT] ERRORLEVEL 番号 批处理命令 当ERRORLEV ...
- DOS批处理命令-几个固定名称的变量
批处理中有一些变量的变量名称是固定的,具有特定的意义,接下来,我们来看看这些有特定意义的变量到底有什么意义. 1.%CD% 当前路径的路径名[盘符 + 路径] - 現在のディレクトリ文字列に ...
- DOS批处理命令-CMD命令
CMD命令是重新开始一个命令解析器的实例.当然,他的功能并不止这么简单. Windows コマンド インタープリターの新しいインスタンスを開始します. 语法结构 CMD [/A | /U] [/Q] ...
随机推荐
- ECMAScript 面向对象JS学习笔记1
1.对象的 prototype 属性,可以把它看成创建新对象所依赖的原型.===在我理解,就是prototype下设置的字段是唯一性的,共享性的,不管创建多少个对象,所处空间都是不变的,没有增加也没有 ...
- 【前端积累】javascript事件
什么是事件? 事件是一种异步编程的实现方式,本质上是程序各个组成部分之间的通信.就是文档或浏览器窗口发生的一些特定的交互瞬间(某种动作). 1.事件流 事件流描述的是从页面中接收事件的顺序. 1)事件 ...
- 【大数据系列】hadoop单机模式安装
一.添加用户和用户组 adduser hadoop 将hadoop用户添加进sudo用户组 sudo usermod -G sudo hadoop 或者 visudo 二.安装jdk 具体操作参考:c ...
- vuex - 辅助函数学习
官网文档: https://vuex.vuejs.org/zh-cn/api.html 最底部 mapState 此函数返回一个对象,生成计算属性 - 当一个组件需要获取多个状态时候,将这些状态都声 ...
- Linq 集合处理(Union)
关于Union的两种情况 一.简单值类型或者string类型处理方式(集合需要实现IEnumerable接口) #region int类型 List<, , , , , }; List<, ...
- sencha touch 评分扩展
原版 :https://market.sencha.com/extensions/sencha-touch-2-rating-star-field 效果: 我的改造版(只是类名变了): Ext.def ...
- 第一步 使用sencha touch cmd 4.0 创建项目、打包(加入全局变量、公用类、自定义扩展、资源文件)
参考资料: http://www.cnblogs.com/qqloving/archive/2013/04/25/3043606.html http://www.admin10000.com/docu ...
- spring boot 单元测试,如何使用profile
一.问题概述 spring boot项目.单元测试的时候,我发现,总是会使用application.properties的内容,而该文件里,一般是我的开发时候的配置. 比如上图中,dev是开发配置,p ...
- 2015.7.12js-11(DOM基础)
1.childNodes,获取子节点,本身就是一个数组,可以通过下标childNodes[i]来获取某个子节点. alert(obj.childNodes.length); //高级浏览器会有空白节点 ...
- 如何使用Jquery 引入css文件
如何使用Jquery 引入css文件: $("head").append("<link>");var toolbarCss = $("he ...