Bat脚本处理ftp超强案例解说

原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 、作者信息和本声明。否则将追究法律责任。http://369369.blog.51cto.com/319630/842341

Bat脚本处理ftp超强案例解说

前言:
  
公司有几百台windows服务器,每次程序更新,如果是一台台拷数据,只怕安排十个人,一天都不一定做得完,所以就必须研究个全自动更新方案来,于是就
想到了FTP,做个主FTP站,在几百台客户机上启动BAT脚本,每30秒检测一次,如果主站有更新程序,就自动下载更新,几分钟内,上400台
windows服务器,都可以全自动更新程序完毕,相当实用,现把当初研究BAT的脚本思路贴出来,希望对大批量运维人员一个方向。当然,批量更新服务
器,每个公司有它自己的解决办法,这个BAT的方式不是最优的,可以用shell,可以用perl,也可以用python等脚本解决。

一、FTP命令说明

1、在windows系统中因为FTP是一个程序,如果在bat脚本中直接调用FTP的命令,在执行时总会弹出命令行窗口,循环在>FTP光标这,所以要换种方式,利用-S:filename,更多的命令请输入-h查看。

2、FTP登录成功后,需要下载远程单个文件时,使用get命令,如果下载多个文件时,用mget,它支持通配符,在使用mget时,需要对每一个文件都进行选择Y/N,如果想不交互的下载全部的文件,可以输入一次prompt命令关闭交互方式。
Mput和mget命令要注意两个问题:
Ⅰ、不能对目标文件指定命字,在命令行上所有的文件都视做源文件
Ⅱ、mput,mget两个命令不能对目录进行上传与下载,只能对文件
Ⅲ、Prompt:每次执行一个这个命令,就在on ,off之间循环,ftp脚本开始时,prompt默认为on,所以一般在上传、下载文件时,执行一次prompt,把交互式的on关掉,变为off。

3、文件的传输方式:
Binary ,二进制传输
Ascii ,ascII传输
  
在FTP文件传输过程中,ASCII传输HTML和文本编写的文件,而二进制码传输可以传送文本和非文本(执行文件,压缩文件,图片等),具有通用性,二
进制码传输速度比ASCII传输要快,所以在建立bat脚本时,一般输入bin命令,启用二进制传输。如果用ASCII模式传输非文本文件,可能会显示一
堆乱码,如果是上传一些CGI脚本,有可能将无法运行这类脚本,而在浏览器上看到server 500 error的错误。
Ascii和binary模式的区别是回车换行的处理。binary模式不对数据进行任何处理,asci模式将回车换行转换为本机的回车字符,比如
Unix下是\n,Windows下是\r\n,Mac下是\r。unix系统下行结束符是一个字节,即十六进制的0A,而ms的系统是两个字节,即十六
进制的0D0A。
    所以当你用ascii方式从unix的ftp server下载文件时(不管是二进制或者文本文件,redhat的
vsftp默认是binary,ascii默认关闭),每检测到一个字节是0A,就会自动插入一个0D,所以如果你的文件是二进制文件比如可执行文件、压
缩包什么的,就肯定不能用了。如果你的文件就是unix下的文本文件,你用
ascii模式是正确的,要是误用了binary模式,你在windows上看这个文件是没有换行的,里面是一个个的黑方块。
   在用FTP客户端传输文件时,因为这些软件都做得比较智能化,它可以根据后缀,自动启用传输模式,所以不用担心出问题。

二、实例求证:
   
环境说明:192.168.133.34上有一FTP服务器端(windows版),FTP用户名为lgh,密码为www.liuguohua.com。
该用户的根目录为D:\lgh。里面文件见下图。sql.rar是sql.bat的压缩文件,大家注意看图,我等下会在后面的实例中引用这个文件,把
mget,get,prompt,bin,ascii等ftp命令诠释得一清二白。

实例一:直接BAT调用FTP命令
ftp.bat内容
(***大家建立bat文件不要命名为ftp.bat,执行时会有问题***)

  1. ftp
  2. open 192.168.133.34
  3. lgh
  4. www.liuguohua.com
  5. get sql.rar
  6. bye

从图上的结果看,bat脚本直接调用xp的FTP命令是不行的,执行时H:\>ftp会一直死循环。我这里的XP系统是SP3的,其它版本的,我没有作测试。如果有不同,欢迎大家留言告之。

实例二:用put,get上传,下载单个文件

把XP机器上H:\js目录下文件flower.zip上传到FTP服务器
把FTP服务器中的sql.rar文件下载到XP机器上的H:\JS目录
ftp-get-put.bat内容如下:

  1. @echo off
  2. set ftpfilename=autoftp.cfg
  3. echo open 192.168.133.34 >"%ftpfilename%"
  4. echo lgh >>"%ftpfilename%"
  5. echo www.liuguohua.com >>"%ftpfilename%"
  6. echo bin >>"%ftpfilename%"
  7. echo lcd h:\js >>"%ftpfilename%"
  8. echo get sql.rar >>"%ftpfilename%"
  9. echo put flower.zip >>"%ftpfilename%"
  10. echo bye >>"%ftpfilename%"
  11. ftp -s:"%ftpfilename%"
  12. del "%ftpfilename%"

我们来看看结果,见下面两张图。从XP系统上看,H盘的JS目录,多了个sql.rar,FTP服务器上的根目录多了个flower.zip,这说明,刚才的脚本完成正常的执行了,达到了预期的目的。

实例三:用put,get上传,下载多个文件

在XP机器上把flower.zip复制一次,改名为flower2.zip
在XP机器上把把第二次实例下载的sql.rar文件删除,以免影响到本次操作
在FTP服务器上把第二次实例上传的flower.zip文件删除,以免影响到本次操作
把XP机器上H:\js目录下文件flower.zip 和flower2.zip上传到FTP服务器
ftp-get-put-many.bat内容如下:

  1. @echo off
  2. set ftpfilename=autoftp.cfg
  3. echo open 192.168.133.34 >"%ftpfilename%"
  4. echo lgh >>"%ftpfilename%"
  5. echo www.liuguohua.com >>"%ftpfilename%"
  6. echo bin >>"%ftpfilename%"
  7. echo lcd h:\js >>"%ftpfilename%"
  8. echo put flower.zip flower2.zip>>"%ftpfilename%"
  9. echo bye >>"%ftpfilename%"
  10. ftp -s:"%ftpfilename%"
  11. del "%ftpfilename%"

到FTP服务器上查看根目录,看flower.zip与flower2.zip是否已成功上传。从图上看,只成功上传了flower2.zip文件。

刚那个ftp-get-put-many.bat脚本里
echo put flower.zip flower2.zip>>"%ftpfilename%"
flower2.zip是传输的最后一个文件,是不是用put时,意味着bat在处理上传时,只认最后一个文件呢。我们再多加个文件flower3.zip,来验证。

在XP机器上把flower.zip复制一次,改名为flower3.zip
在FTP服务器上把第二次实例上传的flower2.zip文件删除,以免影响到本次操作

tp-get-put-many.bat内容修改如下:

  1. @echo off
  2. set ftpfilename=autoftp.cfg
  3. echo open 192.168.133.34 >"%ftpfilename%"
  4. echo lgh >>"%ftpfilename%"
  5. echo www.liuguohua.com >>"%ftpfilename%"
  6. echo bin >>"%ftpfilename%"
  7. echo lcd h:\js >>"%ftpfilename%"
  8. echo put flower.zip flower2.zip flower3.zip>>"%ftpfilename%"
  9. echo bye >>"%ftpfilename%"
  10. ftp -s:"%ftpfilename%"
  11. del "%ftpfilename%"

结果,还是只成功上传了flower2.zip,因bat双击时,执行过程会一闪而过,我们看不到执行过程,到命令行去执行下,看到底出了什么问题。

命令行,执行ftp-get-put-many.bat脚本,从执行情况看,flower.zip三个文件都是put的,但在传输时,却只传了flower2.zip,真不解,有知道的朋友吗?给点方向

再换个方式,用通配符*,试试。
ftp-get-put-many.bat内容修改如下:

  1. @echo off
  2. set ftpfilename=autoftp.cfg
  3. echo open 192.168.133.34 >"%ftpfilename%"
  4. echo lgh >>"%ftpfilename%"
  5. echo www.liuguohua.com >>"%ftpfilename%"
  6. echo bin >>"%ftpfilename%"
  7. echo lcd h:\js >>"%ftpfilename%"
  8. echo put flower*.zip >>"%ftpfilename%"
  9. echo bye >>"%ftpfilename%"
  10. ftp -s:"%ftpfilename%"
  11. del "%ftpfilename%"

在FTP服务器上把上传的flower文件全部删除,以免影响到本次操作
执行ftp-get-put-many.bat,结果只有flower.zip文件上传成功了。呵,flower3.zip文件,怎么都不能上传。???

其实用put传输多个文件,完全可用重复的方式取代,比如:ftp-get-put-many.bat内容修改如下:

  1. @echo off
  2. set ftpfilename=autoftp.cfg
  3. echo open 192.168.133.34 >"%ftpfilename%"
  4. echo lgh >>"%ftpfilename%"
  5. echo www.liuguohua.com >>"%ftpfilename%"
  6. echo bin >>"%ftpfilename%"
  7. echo lcd h:\js >>"%ftpfilename%"
  8. echo put flower.zip >>"%ftpfilename%"
  9. echo put flower2.zip >>"%ftpfilename%"
  10. echo put flower3.zip >>"%ftpfilename%"
  11. echo bye >>"%ftpfilename%"
  12. ftp -s:"%ftpfilename%"
  13. del "%ftpfilename%"

实例四:用mput,mget上传,下载多个文件
在FTP服务器上删除有关flower的文件

ftp-mget-mput-many.bat内容如下:

  1. @echo off
  2. set ftpfilename=autoftp.cfg
  3. echo open 192.168.133.34 >"%ftpfilename%"
  4. echo lgh >>"%ftpfilename%"
  5. echo www.liuguohua.com >>"%ftpfilename%"
  6. echo bin >>"%ftpfilename%"
  7. echo lcd h:\js >>"%ftpfilename%"
  8. echo mput flower.zip flower2.zip flower3.zip>>"%ftpfilename%"
  9. echo bye >>"%ftpfilename%"
  10. ftp -s:"%ftpfilename%"
  11. del "%ftpfilename%"

双击ftp-mget-mput-many.bat后,发现系统弹出一窗口后,就卡住了,停止不前

原因是用了mput命令,但没有用Prompt关闭交互

ftp-mget-mput-many.bat内容修改如下:

  1. @echo off
  2. set ftpfilename=autoftp.cfg
  3. echo open 192.168.133.34 >"%ftpfilename%"
  4. echo lgh >>"%ftpfilename%"
  5. echo www.liuguohua.com >>"%ftpfilename%"
  6. echo Prompt >>"%ftpfilename%"
  7. echo bin >>"%ftpfilename%"
  8. echo lcd h:\js >>"%ftpfilename%"
  9. echo mput flower.zip flower2.zip flower3.zip>>"%ftpfilename%"
  10. echo bye >>"%ftpfilename%"
  11. ftp -s:"%ftpfilename%"
  12. del "%ftpfilename%"

再次执行ftp-mget-mput-many.bat,结果见下图:

用通配符*试试
在FTP服务器上删除有关flower的文件
ftp-mget-mput-many.bat内容修改如下:

  1. @echo off
  2. set ftpfilename=autoftp.cfg
  3. echo open 192.168.133.34 >"%ftpfilename%"
  4. echo lgh >>"%ftpfilename%"
  5. echo www.liuguohua.com >>"%ftpfilename%"
  6. echo Prompt >>"%ftpfilename%"
  7. echo bin >>"%ftpfilename%"
  8. echo lcd h:\js >>"%ftpfilename%"
  9. echo mput flower*.zip >>"%ftpfilename%"
  10. echo bye >>"%ftpfilename%"
  11. ftp -s:"%ftpfilename%"
  12. del "%ftpfilename%"

照样成功上传有关flower*.zip文件。因为结果与上一步是一样的,所以就不抓图了。

实例五:用ascii在windows系统间传输非文本文件
把XP电脑上的rmb.jpg通过ascii传到FTP服务器的根目录。

ftp-get-ascii.bat内容修改如下:

  1. @echo off
  2. set ftpfilename=autoftp.cfg
  3. echo open 192.168.133.34 >"%ftpfilename%"
  4. echo lgh >>"%ftpfilename%"
  5. echo www.liuguohua.com >>"%ftpfilename%"
  6. echo ascii >>"%ftpfilename%"
  7. echo lcd h:\js >>"%ftpfilename%"
  8. echo put rmb.jpg>>"%ftpfilename%"
  9. echo bye >>"%ftpfilename%"
  10. ftp -s:"%ftpfilename%"
  11. del "%ftpfilename%"

执行ftp-get-ascii.bat后,发现rmb.jpg可以正常上传,并且可以正常打开,那,这个现象与前面所以的ascii不能传输非文本东西有出入,这是怎么回会事呢。
    
这是因为,FTP服务器是WINDOWS系统,XP电脑上的bat脚本也是在windows系统上运行的,所以bat在windows系统里用FTP传输
文件,不管是用ascii,还是用binary,都是可以的。接下来我们再做一个实验,FTP服务器选centos,再测下ascii传输非文本文件问
题。

实例六:用ascii在windows系统与linux系统间传输非文本文件
在RHEL 5.4 64位系统上建立一vsftpd服务器

上面说过redhat默认启用二进制传输,关闭了ascii码传输,所以我们还要修改一下vsftpd的配置文件,修改/etc/vsftpd/vsftpd.conf文件,允许客户端进行ascii传输,并重启vsftpd

把rmb.jpg放到FTP服务器,大家注意下H:\js目录下只有ftp-getascii.bat文件

ftp-getascii.bat文件内容修改如下:

  1. @echo off
  2. set ftpfilename=autoftp.cfg
  3. echo open 192.168.145.226 >"%ftpfilename%"
  4. echo ftp1 >>"%ftpfilename%"
  5. echo redhat >>"%ftpfilename%"
  6. echo asc >>"%ftpfilename%"
  7. echo lcd h:\js >>"%ftpfilename%"
  8. echo get rmb.jpg >>"%ftpfilename%"
  9. echo bye >>"%ftpfilename%"
  10. ftp -s:"%ftpfilename%"
  11. del "%ftpfilename%"

执行ftp-getascii.bat,看结果,rmb.jpg文件有下载到XP电脑里,双击这个文件,发现图像乱码,文件被破坏了,都是ascii码传输惹的祸。

换bin传输,测试一下
在XP电脑上删除rmb.jpg文件,再双击ftp-getascii.bat文件,去从LINUX的FTP服务器下载一个rmb.jpg文件。

修改ftp-getascii.bat,把ascii改给二进制传输

  1. @echo off
  2. set ftpfilename=autoftp.cfg
  3. echo open 192.168.145.226 >"%ftpfilename%"
  4. echo ftp1 >>"%ftpfilename%"
  5. echo redhat >>"%ftpfilename%"
  6. echo bin >>"%ftpfilename%"
  7. echo lcd h:\js >>"%ftpfilename%"
  8. echo get rmb.jpg >>"%ftpfilename%"
  9. echo bye >>"%ftpfilename%"
  10. ftp -s:"%ftpfilename%"
  11. del "%ftpfilename%"

结果,文件正常下载,图像也显示正常。

扩展阅读:
ftp使用的内部命令如下(中括号表示可选项):
1.![cmd[args]]:在本地机中执行交互shell,exit回到ftp环境,如:!ls*.zip.
2.$ macro-ame[args]:执行宏定义macro-name.
3.account[password]:提供登录远程系统成功后访问系统资源所需的补充口令。
4.append local-file[remote-file]:将本地文件追加到远程系统主机,若未指定远程系统文件名,则使用本地文件名。
5.ascii:使用ascii类型传输方式。
6.bell:每个命令执行完毕后计算机响铃一次。
7.bin:使用二进制文件传输方式。
8.bye:退出ftp会话过程。
9.case:在使用mget时,将远程主机文件名中的大写转为小写字母。
10.cd remote-dir:进入远程主机目录。
11.cdup:进入远程主机目录的父目录。
12.chmod mode file-name:将远程主机文件file-name的存取方式设置为mode,如: chmod 777 a.out 。
13.close:中断与远程服务器的ftp会话(与open对应)。
14.cr:使用asscii方式传输文件时,将回车换行转换为回行。
15.delete remote-file:删除远程主机文件。
16.debug[debug-value]:设置调试方式, 显示发送至远程主机的每条命令,如: deb up 3,若设为0,表示取消debug。
17.dir[remote-dir][local-file]:显示远程主机目录,并将结果存入本地文件local-file。
18.disconnection:同close。
19.form format:将文件传输方式设置为format,缺省为file方式。
20.get remote-file[local-file]: 将远程主机的文件remote-file传至本地硬盘的local-file。
21.glob:设置mdelete,mget,mput的文件名扩展,缺省时不扩展文件名,同命令行的-g参数。
22.hash:每传输1024字节,显示一个hash符号(#)。
23.help[cmd]:显示ftp内部命令cmd的帮助信息,如:help get。
24.idle[seconds]:将远程服务器的休眠计时器设为[seconds]秒。
25.image:设置二进制传输方式(同binary)。
26.lcd[dir]:将本地工作目录切换至dir。
27.ls[remote-dir][local-file]:显示远程目录remote-dir, 并存入本地文件local-file。
28.macdef macro-name:定义一个宏,遇到macdef下的空行时,宏定义结束。
29.mdelete[remote-file]:删除远程主机文件。
30.mdir remote-files local-file:与dir类似,但可指定多个远程文件,如: mdir *.o.*.zipoutfile 。
31.mget remote-files:传输多个远程文件。
32.mkdir dir-name:在远程主机中建一目录。
33.mls remote-file local-file:同nlist,但可指定多个文件名。
34.mode[modename]:将文件传输方式设置为modename, 缺省为stream方式。
35.modtime file-name:显示远程主机文件的最后修改时间。
36.mput local-file:将多个文件传输至远程主机。
37.newer file-name: 如果远程机中file-name的修改时间比本地硬盘同名文件的时间更近,则重传该文件。
38.nlist[remote-dir][local-file]:显示远程主机目录的文件清单,并存入本地硬盘的local-file。
39.nmap[inpattern outpattern]:设置文件名映射机制, 使得文件传输时,文件中的某些字符相互转换,如:nmap
$1.$2.$3[$1,$2].[$2,$3],则传输文件a1.a2.a3时,文件名变为a1,a2。该命令特别适用于远程主机为非UNIX
机的情况。
40.ntrans[inchars[outchars]]:设置文件名字符的翻译机制,如ntrans1R,则文件名LLL将变为RRR。
41.open host[port]:建立指定ftp服务器连接,可指定连接端口。
42.passive:进入被动传输方式。
43.prompt:设置多个文件传输时的交互提示。
44.proxy ftp-cmd:在次要控制连接中,执行一条ftp命令, 该命令允许连接两个ftp服务器,以在两个服务器间传输文件。第一条ftp命令必须为open,以首先建立两个服务器间的连接。
45.put local-file[remote-file]:将本地文件local-file传送至远程主机。
46.pwd:显示远程主机的当前工作目录。
47.quit:同bye,退出ftp会话。
48.quote arg1,arg2...:将参数逐字发至远程ftp服务器,如:quote syst.
49.recv remote-file[local-file]:同get。
50.reget remote-file[local-file]:类似于get,但若local-file存在,则从上次传输中断处续传。
51.rhelp[cmd-name]:请求获得远程主机的帮助。
52.rstatus[file-name]:若未指定文件名,则显示远程主机的状态,否则显示文件状态。
53.rename[from][to]:更改远程主机文件名。
54.reset:清除回答队列。
55.restart marker:从指定的标志marker处,重新开始get或put,如:restart 130。
56.rmdir dir-name:删除远程主机目录。
57.runique:设置文件名唯一性存储,若文件存在,则在原文件后加后缀..1,.2等。
58.send local-file[remote-file]:同put。
59.sendport:设置PORT命令的使用。
60.site arg1,arg2...:将参数作为SITE命令逐字发送至远程ftp主机。
61.size file-name:显示远程主机文件大小,如:site idle 7200。
62.status:显示当前ftp状态。
63.struct[struct-name]:将文件传输结构设置为struct-name, 缺省时使用stream结构。
64.sunique:将远程主机文件名存储设置为唯一(与runique对应)。
65.system:显示远程主机的操作系统类型。
66.tenex:将文件传输类型设置为TENEX机的所需的类型。
67.tick:设置传输时的字节计数器。
68.trace:设置包跟踪。
69.type[type-name]:设置文件传输类型为type-name,缺省为ascii,如:type binary,设置二进制传输方式。
70.umask[newmask]:将远程服务器的缺省umask设置为newmask,如:umask 3。
71.user user-name[password][account]:向远程主机表明自己的身份,需要口令时,必须输入口令,如:user anonymous my@email。
72.verbose:同命令行的-v参数,即设置详尽报告方式,ftp服务器的所有响应都将显示给用户,缺省为on.
73.?[cmd]:同help.

Bat脚本处理ftp超强案例解说的更多相关文章

  1. [转]Bat脚本处理ftp超强案例解说

    Bat脚本处理ftp超强案例解说 转自:http://369369.blog.51cto.com/319630/842341   前言:   公司有几百台windows服务器,每次程序更新,如果是一台 ...

  2. windows下定时利用bat脚本实现ftp上传和下载

    前言: 工作中可能会遇到以下情况,利用windows作为中转,来实现两台linux服务器的文件传输. 实现步骤: 1.FTP上传和下载的bat脚本. 脚本分为两部分:可执行bat脚本和ftp命令文件: ...

  3. windows bat脚本实现ftp自动下载 删除

    现在有一个需求就是把远程某个文件下面的图片,下载到本地,并且删除下载成功的的文件,而且远程目录下的那个图片会随时增加.假设一下如果所有的脚本都写好了,那么就需要调用windows上的计划任务定时执行脚 ...

  4. 批处理(.bat脚本)基本命令语法

    .bat脚本基本命令语法   目录批处理的常见命令(未列举的命令还比较多,请查阅帮助信息)     1.REM 和 ::     2.ECHO 和 @     3.PAUSE     4.ERRORL ...

  5. bat脚本的基本命令语法

    bat脚本的基本命令语法 一.批处理的常见命令 1.REM 和 ::     2.ECHO 和 @     3.PAUSE     4.ERRORLEVEL     5.TITLE     6.COL ...

  6. 基于bat脚本的前端发布流程设计与实现

    写在前面 本文大致向读者介绍了楼下几点知识,希望在编写bat脚本时候能够帮到读者,如果能够有所启迪,那就更好了. bat脚本的相关知识和案例编写 用windows自带的命令压缩文件 windows和l ...

  7. 在windows上搭建镜像yum站的方法(附bat脚本)

    方法一:支持rsync的网站 对于常用的centos.Ubuntu.等使用官方yum源在 http://mirrors.ustc.edu.cn 都存在镜像. 同时 http://mirrors.ust ...

  8. bat脚本+diskpart 脚本实现自动划分磁盘分区

    我提供的脚本只是案例展示,真实场景需要自行修改.(正好我今天看到一个规范的bat脚本,我放出来,大家一起学习下) 要求:将20G的磁盘1,分出4G为主分区,4G扩展分区(2个2G逻辑分区) 试验环境: ...

  9. cmd命令,bat脚本

    1.cd /d D:\>cd mysql D:\mysql>cd /d C:/TEMP C:\Temp>cd /? 显示当前目录名或改变当前目录. CHDIR [/D] [drive ...

随机推荐

  1. 多条查询sql语句返回多表数据集

    + + "';SELECT ProductID,ProductTitle,ProductName,SalePrice,ListingPrice,MainPicture,SaledItemCo ...

  2. 意外的节点类型 Element。只能在简单内容或空内容上调用 ReadElementString 方法

    问题出现的情景: 在调用携程团购接口时,需要把获取的xml字符串反序列化实体对象,出现了这个错误. 详情: 在对xml文档有这样一条语句“ <Description Category=" ...

  3. while、do while练习——7月24日

    while循环的格式是for循环的变形 //while 循环(当循环),是for循环的变形 //for(int i=0;i<=5;i++) //{ // Console.WriteLine(&q ...

  4. 实例化Layout中的布局文件(xml)

    什么是LayoutInflater This class is used to instantiate layout XML file into its corresponding View obje ...

  5. httpClient 4.x post get方法

    public static String doPost(String url, String encoding, String contentType, String sendData) throws ...

  6. Eclipse 汉化包

    http://www.eclipse.org/babel/downloads.php 下载地址,具体操作请百度. http://subclipse.tigris.org/update_1.6.x SV ...

  7. 使用Linq快速的操作XML

    开始内容之前先分享一段话 有时候,当你知道要做什么的时候就做的很快,比如你要实现个功能,码字的活儿不算很难,做个检索也不会有什么难倒你的.但是,做着做着,你发现好像世界上的工作都在重复,于是你有种心要 ...

  8. 转: 详解css中的display属性

    在一般的CSS布局制作时候,我们常常会用到display对应值有block.none.inline这三个值.下面我们来分别来认识和学习什么时候用什么值.这里通过CSS display知识加实例讲解方法 ...

  9. 摄像机导致的粒子效果混乱出错变成贴图sprite显示在镜头前

    只要把出错的摄像机记的标签改成maincamera问题就消失了!! 我之前一直以为是烘培导致的问题!

  10. C# JavaScriptSerializer 解析Json数据(多方法解析Json 三)

    准备工作: 1.添加引用System.Web.Extensions, 2..net3.5+版本都有,如果VS2010找不到,在这个文件夹找:C:\Program Files\Reference Ass ...