文档库 最新最全的文档下载
当前位置:文档库 › _批脚本的编写与实际应用

_批脚本的编写与实际应用

_批脚本的编写与实际应用
_批脚本的编写与实际应用

BAT、CMD脚本的编写与实际应用

在微软官方的定义中,BAT属于批处理脚本(可以运行在DOS、WINDOWS下),是用来进行简化平时操作的批量化集成文件。而CMD,则是只能运行在NT系统下的批处理文件,其功能与BAT是一样的。

从早期的BAT开始,该文件就为大家提供了方便,并在WINDOWS出现后,它的能力可以说是万能的。从最基础的启动盘的引导,到注册表,甚至系统服务的操作,BAT与CMD都可以胜任。而且由于它简便的编写与通用性,很快就布满整个世界。

本文将简单介绍BAT与CMD脚本的编写过程,因为在下水平不高,所以如有错误欢迎指出!

一、BAT与CMD中的部分参数

1、定义文件夹的参数

目前我能够搜集到并可以给出意思的通用系统参数如下(不包括后边的解释部分):

%windir% ——操作系统文件夹,一般为C:下的WINDOWS文件夹

%sys% ——系统根目录,也就是C:盘目录

%programfiles% ——Program Files目录,安装程序通常都安装在这个目录下

%systemdrive% ——操作系统所在磁盘,与%sys%属于同一目录

%systemroot% ——操作系统文件夹,一般为C:下的WINDOWS文件夹

%InfDir% ——系统根目录,也就是C:盘目录

%TEMP% ——当前用户的临时目录,一般是C:\Documents and Settings\用户名\Local Settings\Temp目录

2、基础操作参数(可以在CMD命令行模式中输入HELP获得)

ASSOC 显示或修改文件扩展名关联。

AT 计划在计算机上运行的命令和程序。

ATTRIB 显示或更改文件属性。

BREAK 设置或清除扩展式CTRL+C 检查。

CACLS 显示或修改文件的访问控制列表(ACLs)。

CALL 从另一个批处理程序调用这一个。

CD 显示当前目录的名称或将其更改。

CHCP 显示或设置活动代码页数。

CHDIR 显示当前目录的名称或将其更改。

CHKDSK 检查磁盘并显示状态报告。

CHKNTFS 显示或修改启动时间磁盘检查。

CLS 清除屏幕。

CMD 打开另一个Windows 命令解释程序窗口。

COLOR 设置默认控制台前景和背景颜色。

COMP 比较两个或两套文件的内容。

COMPACT 显示或更改NTFS 分区上文件的压缩。

CONVERT 将FAT 卷转换成NTFS。您不能转换

当前驱动器。

COPY 将至少一个文件复制到另一个位置。

DATE 显示或设置日期。

DEL 删除至少一个文件。

DIR 显示一个目录中的文件和子目录。

DISKCOMP 比较两个软盘的内容。

DISKCOPY 将一个软盘的内容复制到另一个软盘。

DOSKEY 编辑命令行、调用Windows 命令并创建宏。

ECHO 显示消息,或将命令回显打开或关上。

ENDLOCAL 结束批文件中环境更改的本地化。

ERASE 删除至少一个文件。

EXIT 退出CMD.EXE 程序(命令解释程序)。

FC 比较两个或两套文件,并显示

不同处。

FIND 在文件中搜索文字字符串。

FINDSTR 在文件中搜索字符串。

FOR 为一套文件中的每个文件运行一个指定的命令。

FORMAT 格式化磁盘,以便跟Windows 使用。

FTYPE 显示或修改用于文件扩展名关联的文件类型。

GOTO 将Windows 命令解释程序指向批处理程序

中某个标明的行。

GRAFTABL 启用Windows 来以图像模式显示

扩展字符集。

HELP 提供Windows 命令的帮助信息。

IF 执行批处理程序中的条件性处理。

LABEL 创建、更改或删除磁盘的卷标。

MD 创建目录。

MKDIR 创建目录。

MODE 配置系统设备。

MORE 一次显示一个结果屏幕。

MOVE 将文件从一个目录移到另一个目录。

PATH 显示或设置可执行文件的搜索路径。

PAUSE 暂停批文件的处理并显示消息。

POPD 还原PUSHD 保存的当前目录的上一个值。

PRINT 打印文本文件。

PROMPT 更改Windows 命令提示符。

PUSHD 保存当前目录,然后对其进行更改。

RD 删除目录。

RECOVER 从有问题的磁盘恢复可读信息。

REM 记录批文件或CONFIG.SYS 中的注释。

REN 重命名文件。

RENAME 重命名文件。

REPLACE 替换文件。

RMDIR 删除目录。

SET 显示、设置或删除Windows 环境变量。

SETLOCAL 开始批文件中环境更改的本地化。

SHIFT 更换批文件中可替换参数的位置。

SORT 对输入进行分类。

START 启动另一个窗口来运行指定的程序或命令。

SUBST 将路径跟一个驱动器号关联。

TIME 显示或设置系统时间。

TITLE 设置CMD.EXE 会话的窗口标题。

TREE 以图形模式显示驱动器或路径的目录结构。

TYPE 显示文本文件的内容。

VER 显示Windows 版本。

VERIFY 告诉Windows 是否验证文件是否已正确

写入磁盘。

VOL 显示磁盘卷标和序列号。

XCOPY 复制文件和目录树。

3、扩展程序参数的部分参数(考虑到部分参数很危险,所以这里不提供)

cipher ——显示或更改NTFS 分区上的目录(文件)的加密

defrag ——启动磁盘碎片整理程序

edit ——启动DOS下的文本编辑程序,在XP中也有保留

expand ——WINDOWS中自带的解压程序,可以把安装盘中文件名以_结尾的文件解压,NT系列的安装就是在DOS下用这个对文件进行解压后进行排序安装的

EXTRACT或extrac32 ——对CAB文件进行解压缩的程序,现在都用WINRAR,所以这个功能没什么保留价值了

makecab ——制作CAB压缩包的程序,对启动盘的制作倒很有用处

msg ——可以将消息发送给同网用户的程序,格式是[MSG 对方机器名信息](不包括中括号)

ping ——可以检测网络的运行状态的程序,从WINDOWS时代开始就有了proxycfg ——设置代理用的程序

regsvr32 ——服务注册程序,一般是插件的注册,也可以是解码器

reg或regedit ——注册表操作程序,有时候在BAT、CMD脚本中可以用这个参数进行注册表的修改操作

shutdown ——关机程序,可以在一定范围内控制一台或者一个局域网里所有机器的关机时间等

systeminfo ——查看系统当前配置情况的参数,也可以显示出运行时间等

TASKKILL ——进程删除程序,这个可以关闭至少一个进程

tasklist ——查看当前进程列表的程序

二、制作带向导功能的特殊结构脚本

看到标题大家可能会有点郁闷:BAT、CMD脚本也可以实现向导功能?

很荣幸的告诉大家,是的。BAT、CMD脚本不但可以实现脚本的向导功能,而且还可以结合大量的参数,组合成一个只需要不到100KB就可以通吃所有系统的工具包!

本介绍部分可以配合“结合Universal Extractor进行简单软件的绿化制作”所写的制作过程进行实况编写,不过限于篇幅关系,这里只对带有向导的BAT、CMD脚本进行解析。

首先让我们看一个简单的不能再简单的例子(后边标注部分在实际应用中是不会写进脚本的)——

@echo off ——隐藏操作过程,不对下边的操作进行显示

cls ——清除之前屏幕上的所有字符

title 智能ABC输入法5.0 重封装版BY 龙梦秋——指定当前命令行窗口标题

COLOR 1F ——指定操作界面颜色,可以在命令行中输入COLOR /? 来查看具体配置参数

echo *======================================================= ——在这里可以写入自己需要显示在命令行窗口中的内容,甚至可以做成由字符组成的图形界面

echo.

echo 欢迎安装由偶重新封包的"智能ABC输入法5.0 重封装版"!

echo 偶特意重新封包5.0版是因为很多XP简化版以及SP2的修改过

echo 的版本都把系统里的智能ABC版本升级到了5.2,这让一些习惯了

echo 5.0版本的用户(包括偶)变得无法适应。

echo 为了让包括偶在内的所有5.0用户可以回到原来的输入法环

echo 境,经过偶一番琢磨(本来打算写程序来安装,可惜偶是编程白

echo 痴,写个脚本都写到差点脑中风),后来用替换法得到了对应的

echo 3个文件与1个帮助文件,另外加进一个增加、删除和调整输入法

echo 用的程序imetool.EXE,并写了一个脚本直接进行完整安装。

echo 最后,祝您使用的愉快!

echo.

echo 更新说明:

echo.

echo 国庆节……好难得哦~~

echo 刚才把上次制作的“智能ABC 5.0版”拿出来看了下,发现脚

echo 本有点太简单,而且这样做用户误操作的几率很高,所以对安装

echo 脚本稍微进行了一次小小的修改。

echo 相信有了向导的帮忙,用户再也不会跟偶发脾气了吧~~

echo.

echo ——龙梦秋

echo 2006年10月1日

echo *======================================================= pause ——暂停脚本执行,按任意键可以继续

:select mode ——指定执行项目,在后面的GOTO参数中很有用

cls ——清除之前屏幕上的所有字符(以下对同样内容的解释能省我就省,免得有人说偶骗稿子篇幅……)

echo.

echo.

echo ※※※※※※※※※※※※※※※※※※※※※※※※※※

echo ※※

echo ※请选择安装模式※

echo ※※

echo ※1、高级模式※

echo ※※

echo ※2、菜鸟模式※

echo ※※

echo ※3、自动安装模式※

echo ※※

echo ※4、退出安装向导※

echo ※※

echo ※※※※※※※※※※※※※※※※※※※※※※※※※※

echo.

echo.

echo ************ 请选择要进入的模式,并按回车确定执行 ************

echo.

SET /P ST="模式选择: " ——SET参数在结合之后的ST后将设置ST为输入项目,并在屏幕上显示等号之后的内容,在后面指定GOTO参数后将把用户的输入操作识别并转到对应的执行项目中。/P参数表示需要在输入后再按回车才执行,避免有的用户一旦执行错误将会出现严重问题echo.

if /I "%ST%"=="1" goto advanced mode ——/I参数代表之前在SET参数中字符的输入,"%ST%"表示之前设置的模式选择的输入。等号后面的双引号里的内容为设置好的模式的转向标识,最后的GOTO后的内容则为转向的执行项目,下同

if /I "%ST%"=="2" goto easy mode

if /I "%ST%"=="3" goto setup

if /I "%ST%"=="4" goto exit

:advanced mode

cls

echo.

echo.

echo ※※※※※※※※※※※※※※※※※※※※※※※※※※

echo ※※

echo ※ "智能ABC输入法5.0 重封装版"安装向导※

echo ※※

echo ※——By 龙梦秋※

echo ※※

echo ※1、备份当前系统的智能输入法※

echo ※※

echo ※2、安装"智能ABC输入法5.0 重封装版" ※

echo ※※

echo ※3、恢复智能ABC为原来版本※

echo ※※

echo ※4、删除已经备份的智能ABC文件※

echo ※※

echo ※5、退出安装向导※

echo ※※

echo ※6、返回模式选择※

echo ※※

echo ※※※※※※※※※※※※※※※※※※※※※※※※※※

echo.

echo.

echo *********** 请选择[1,2,3,4,5,6],并按回车确定执行 ***********

echo.

SET /P ST="当前操作: "

echo.

if /I "%ST%"=="1" goto repack

if /I "%ST%"=="2" goto setup

if /I "%ST%"=="3" goto backup

if /I "%ST%"=="4" goto delete

if /I "%ST%"=="5" goto exit

if /I "%ST%"=="6" goto select mode

:easy mode

cls

echo.

echo.

echo ※※※※※※※※※※※※※※※※※※※※※※※※※※

echo ※※

echo ※ "智能ABC输入法5.0 重封装版"安装向导※

echo ※※

echo ※——By 龙梦秋※

echo ※※

echo ※1、安装"智能ABC输入法5.0 重封装版" ※

echo ※※

echo ※2、恢复智能ABC为原来版本※

echo ※※

echo ※3、退出安装向导※

echo ※※

echo ※4、返回模式选择※

echo ※※

echo ※※※※※※※※※※※※※※※※※※※※※※※※※※

echo.

echo.

echo ************* 请选择[1,2,3,4],并按回车确定执行 *************

echo.

SET /P ST="当前操作: "

echo.

if /I "%ST%"=="1" goto easy setup

if /I "%ST%"=="2" goto backup

if /I "%ST%"=="3" goto exit

if /I "%ST%"=="4" goto select mode

:repack

echo *=======================================================

echo 正在备份当前系统的智能输入法...

echo *=======================================================

copy %windir%\System32\WINABC.CWD %windir%\System32\WINABC.CWD-old ——在这里输入要执行的操作的命令行,即可在隐藏了具体操作过程的时候进行原先命令行下的操作,而屏幕上只会显示操作结果。如果不想让它显示操作结果,那么可以在命令的最后增加上>nul ,直接隐藏到后面的提示部分。copy %windir%\System32\WINABC.IME %windir%\System32\WINABC.IME-old

copy %windir%\System32\WINABC.OVL %windir%\System32\WINABC.OVL-old

copy %windir%\System32\WINABC.hlp %windir%\System32\WINABC.hlp-old

echo *=======================================================

echo 当前系统的智能输入法已经备份完毕!

echo *======================================================= pause

cls

goto advanced mode ——表示直接转到advanced mode项中

:setup

echo *=======================================================

echo 正在安装"智能ABC输入法5.0 版"...

echo *=======================================================

copy imetool.exe %windir%\System32\imetool.exe

imetool.exe /del3:WINABC.IME

copy WINABC.CWD %windir%\System32\WINABC.CWD

copy WINABC.IME %windir%\System32\WINABC.IME

copy WINABC.OVL %windir%\System32\WINABC.OVL

copy WINABC.hlp %windir%\System32\WINABC.hlp

%windir%\System32\imetool.exe /install:智能ABC输入法5.0,WINABC.IME

del %windir%\System32\imetool.exe

echo *=======================================================

echo "智能ABC输入法5.0 版"安装完毕!

echo 请注销您的系统或者重新启动,以保证输入法的安装无误。

echo *======================================================= pause

goto exit

:backup

echo *=======================================================

echo 正在恢复智能ABC为原来版本...

echo *=======================================================

imetool.exe /del3:WINABC.IME

DEL %windir%\System32\WINABC.CWD

DEL %windir%\System32\WINABC.IME

DEL %windir%\System32\WINABC.OVL

DEL %windir%\System32\WINABC.hlp

rename %windir%\System32\WINABC.CWD-old %windir%\System32\WINABC.CWD

rename %windir%\System32\WINABC.IME-old %windir%\System32\WINABC.IME

rename %windir%\System32\WINABC.OVL-old %windir%\System32\WINABC.OVL

rename %windir%\System32\WINABC.hlp-old %windir%\System32\WINABC.hlp

copy imetool.exe %windir%\System32\imetool.exe

%windir%\System32\imetool.exe /install:智能ABC输入法,WINABC.IME

del %windir%\System32\imetool.exe

echo *======================================================= echo 当前系统的智能输入法已经恢复至原先版本!

echo 请注销您的系统或者重新启动,以保证输入法的安装无误。

echo *======================================================= pause

goto exit

:delete

echo *======================================================= echo 正在删除已经备份的智能ABC文件...

echo *======================================================= DEL %windir%\System32\WINABC.CWD-old

DEL %windir%\System32\WINABC.IME-old

DEL %windir%\System32\WINABC.OVL-old

DEL %windir%\System32\WINABC.hlp-old

echo *======================================================= echo 当前系统的智能输入法备份文件已经删除!

echo *======================================================= pause

cls

goto advanced mode

:easy setup

echo *======================================================= echo 正在备份当前系统的智能输入法...

echo *======================================================= copy %windir%\System32\WINABC.CWD %windir%\System32\WINABC.CWD-old

copy %windir%\System32\WINABC.IME %windir%\System32\WINABC.IME-old

copy %windir%\System32\WINABC.OVL %windir%\System32\WINABC.OVL-old

copy %windir%\System32\WINABC.hlp %windir%\System32\WINABC.hlp-old

echo *======================================================= echo 当前系统的智能输入法已经备份完毕!

echo *======================================================= echo *======================================================= echo 正在安装"智能ABC输入法5.0 版"...

echo *======================================================= copy imetool.exe %windir%\System32\imetool.exe

imetool.exe /del3:WINABC.IME

copy WINABC.CWD %windir%\System32\WINABC.CWD

copy WINABC.IME %windir%\System32\WINABC.IME

copy WINABC.OVL %windir%\System32\WINABC.OVL

copy WINABC.hlp %windir%\System32\WINABC.hlp

%windir%\System32\imetool.exe /install:智能ABC输入法5.0,WINABC.IME

del %windir%\System32\imetool.exe

echo *======================================================= echo "智能ABC输入法5.0 版"安装完毕!

echo 请注销您的系统或者重新启动,以保证输入法的安装无误。

echo *======================================================= pause

goto exit

:exit

echo *=======================================================

echo 请按任意键退出安装向导...

echo *======================================================= pause ——在这里本来要在最后跟上exit参数让脚本退出,但是因为是脚本的最后部分,直接跟上PAUSE后用户随便一个操作都可以直接退出这个BAT,所以可以省略

仔细解析以上脚本,大家可以看到它的结构非常简单、明了,大致上就是[介绍页面-模式选择-操作过程-退出脚本]这样的结构。而且仔细看可以看到,标题一直到退出的时候都没有进行过更改。所以如果有需要,可以在每步的项目的下面增加标题修改的脚本,这样就可以完全模拟出跟安装程序一样的过程了。

当然,如果需要获得与一般安装程序一样拥有软件说明、授权协议、选择项目等等步骤的话,就需要在这个脚本中进行一定的调整。

有的用户并不想拥有安装选项,那么可以参照以下的脚本来实现单页面安装——

@echo off ——隐藏操作过程,不对下边的操作进行显示

title HashTab 1.0.0.4 BY 龙梦秋——修改当前命令行窗口的标题

echo ※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※——显示介绍内容或者其他内容

echo ※※

echo ※ HashTab 1.0.0.4 RIP版※

echo ※——BY 龙梦秋※

echo ※※

echo ※本程序可以在文件的右键上生成一个“文件效验”的扩展项,可以计算※

echo ※出所选文件的MD5、SHA1、CRC32值,速度之快、与系统结合后的操作之简便※

echo ※非常适合不喜欢动用专用软件的人,非常之优秀!※

echo ※如果替换后无效果,可以先结束一次EXPLORER.EXE进程或者注销一次,※

echo ※再次运行该进程或者登录后即可见到使用效果。※

echo ※※

echo ※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※

echo.

SET /P ST= 请输入Y [HashTab 1.0.0.4]或N [HashTab 1.0.0.4],其他键退出:——设置用户输入echo.

if /I "%ST%"=="Y" goto install ——指定所选项目转向的执行项目

if /I "%ST%"=="N" goto uninstall

goto exit ——指定如果输入其他的操作则直接转向EXIT项目

:install

copy HashTab.dll %windir%\System32\HashTab.dll ——由于之前的@echo off关闭了显示,所以这里将会显示文件复制结果

regsvr32 /s %windir%\System32\HashTab.dll ——注册插件,采用/S参数是为了避免出现注册插件后的确定对话框

exit ——用EXIT参数退出脚本,在这里将在脚本执行完毕后直接退出脚本,当然也可以考虑在这里结合PAUSE与echo来显示脚本执行后的提示信息。

:uninstall

regsvr32 /u /s %windir%\System32\HashTab.dll

del %windir%\System32\HashTab.dll ——这里将只会显示文件的删除结果,可以用/Q参数禁止显示,也可以用/F参数强制把只读属性的文件删除

exit ——退出脚本

:exit

exit ——用EXIT参数退出脚本

三、利用第三方工具进行基于脚本的软件的生成

这段时间在网上发现两个很好玩的工具:EXE2BAT 1.0 与文件转换VBS.VBS

前者会把所有EXE文件经过DEBUG程序编写成BAT脚本,让用户在执行BAT脚本的同时可以还原该脚本中包含的文件,默认会执行还原后的文件,当然我们可以修改生成后的脚本;后者会把所有文件都编写成BAT脚本,执行这个BAT文件的用户将得到原文件,过程不说也很清楚,这里就PASS。

不过有趣的是,两个工具都被杀软识别为“病毒制造机”,这个我实在是不明白。之后看了下软件的工作原

理与应用范围,终于知道这两个小东西居然可以协助黑客进行攻击,真是不能小看了人们的思考能力啊~~我这介绍两个工具并不是为了给你们做坏事,仅仅是作为一个参考,如果因为用这两个工具做坏事被抓了,表说你认识偶……

目前已经搞到了EXE2BAT的程序源代码,编译用的好象还是WIN32语言的样子(我看不懂……),以下是源代码——

#include

#include

#define M 65279

char *msg="GOOD_LUCK";

void help(void);

char exe2bat(char *,char *);

int main(int argc,char **argv)

{

if(argc==1)

{

help();

}

exe2bat(argv[1],argv[2]);

return 0;

}

void help()

{

printf("\nWritten by W.Z.T <==Don't be lazy,Just go ahead==>\n\n");

printf("exe2bat.exe input.exe output.bat\n");

exit(0);

}

char exe2bat(char *s_f,char *t_f)

{

FILE *s_fp,*t_fp;

char *s_fe=s_f;

char *t_fe=t_f;

char c;

char ch;

long lenth;

int i=1,k=256;

if((s_fp=fopen(s_fe,"rb"))==NULL)

{

printf("Can't open the file %s.\n",s_fe);

exit(0);

}

if((t_fp=fopen(t_fe,"w+"))==NULL)

{

printf("Can't create the file %s.\n",t_fe);

exit(0);

}

fseek(s_fp,0,SEEK_END);

lenth=ftell(s_fp);

fseek(s_fp,0,SEEK_SET);

printf("%ld,%x\n",lenth,lenth);

if(lenth>=M)

{

printf("The exe file's lenth must be <= M-1\n");

exit(0);

}

fputs("@echo e ",t_fp);

fprintf(t_fp,"%04x ",k);

while(!feof(s_fp))

{

k++;

c = fgetc(s_fp);

if(( unsigned char ) c<= ( unsigned char )15)

fprintf(t_fp,"0",c);

fprintf(t_fp,"%x ",(unsigned char)c);

if(i%16==0)

{

fputs(">>sgl\n",t_fp);

fputs("@echo e ",t_fp);

fprintf(t_fp,"%04x ",k);

}

i++;

}

if(lenth%16!=0)

fputs(">>%tmp%\\sgl\n",t_fp);

fputs("@echo rcx>>sgl\n",t_fp);

fprintf(t_fp,"@echo %x>>sgl\n",lenth,t_fp);

fputs("@echo n tthacker>>sgl\n",t_fp);

fputs("@echo w>>sgl\n",t_fp);

fputs("@echo q>>sgl\n",t_fp);

fputs("@debugnul\n",t_fp);

fputs("@del sgl\n",t_fp);

fputs("@ren tthacker ",t_fp);

fprintf(t_fp,"%s>>sgl\n",s_fe);

fputs("@",t_fp);

fprintf(t_fp,"%s",s_fe);

fclose(s_fp);

fclose(t_fp);

puts(msg);

return 0;

}

文件转换VBS的源代码如下(大家可以复制后保存成VBS文件,然后把任意文件拉到这个VBS文件上,将在目录下多出一个BAT文件,那个就是你的文件的“BAT版”了)——

fp=wscript.arguments(0)

fn=right(fp,len(fp)-instrrev(fp,"\"))

with createobject("adodb.stream")

.type=1:.open:.loadfromfile fp:str=.read:sl=lenb(str)

end with

sll=sl mod 65536:slh=sl\65536

with createobject("scripting.filesystemobject").opentextfile(fp&".bat",2,true)

.write "@echo str="""

for i=1 to sl

bt=ascb(midb(str,i,1))

if bt<16 then .write "0"

.write hex(bt)

if i mod 128=0 then .write """_>>debug.vbs"+vbcrlf+"@echo +"""

next

.writeline """>>debug.vbs"+vbcrlf+"@echo with wscript.stdout:r=vbcrlf"_

+":for i=1 to len(str) step 48:.write ""e""+hex(256+(i-1)/2)"_

+":for j=i to i+46 step 2:.write "" ""+mid(str,j,2):next:.write r:next>>debug.vbs"

.writeline "@echo .write ""rbx""+r+"""+hex(slh)+"""+r+""rcx""+r+"""+hex(sll)_

+"""+r+""n debug.tmp""+r+""w""+r+""q""+r:end with"_

+">>debug.vbs&&cscript //nologo debug.vbs|debug.exe>nul&&ren debug.tmp """&fn&"""&del debug.vbs"

end with

由于我现在写的是BAT、CMD批处理脚本的应用,所以在这里我们还是着重讲一下EXE2BAT。

我这里有一段由EXE2BAT生成的BAT脚本——

@echo e 100 D5 E2 BE CD CA C7 D7 AA BB BB BA F3 B5 C4 BD E1 >>tmp11

@echo e 110 B9 FB A3 AC B4 F3 BC D2 BB B9 C2 FA D2 E2 B0 C9 >>tmp11

@echo e 120 A3 BF 48 4F 48 4F A1 AB A1 AB 0D 0A 20 20 20 20 >>tmp11

@echo e 130 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 >>tmp11

@echo e 140 20 20 20 20 20 20 20 20 20 20 20 A1 AA A1 AA 42 >>tmp11

@echo e 150 59 20 C1 FA C3 CE C7 EF >>tmp11

@echo rcx>>tmp11

@echo 58>>tmp11

@echo n tmp1>>tmp11

@echo w>>tmp11

@echo q>>tmp11

@debugnul

@Copy /b /y tmp1 readme.txt

@start readme.txt

@del tmp*

大家将上面的代码复制后保存成一个.BAT文件后执行,看看你看到了什么?

从这里大家可以看出,EXE2BAT的操作原理是先将文件经过DEBUG程序进行编码,然后分解成字符保存。但是由于DEBUG不支持中文,所以如果转换的文件的文件名不是E文,转换后的文件名将会是乱码。

另外,为了一些人着想,我将不会提供这两个程序与我编写的BAT版EXE2BAT。如果有需要,可以自己研究这些软件的工作原理,这样还可以增加自己的经验,对不对?

最后,吃饭……

自动化测试流程图解析

功能自动化测试流程解析 本流程是描述软件功能自动化测试过程中的步骤、内容与方法,明确各阶段的职责、活动与产出物。 1流程图 2流程说明 2.1 测试计划(可选) 与以前的测试计划过程一致,只是在原来的测试计划中,添加对项目实施自动化测试所需的资源、测试范围、测试进度的描述。该过程产出物为《测试计划》。 2.2 自动化测试用例设计 根据《测试计划》、《软件需求规格说明书》、《系统测试用例》设计出针对自动化测试的测试用例。测试用例的粒度精确到单个功能点或流程,对于各个功能点的业务规则,通过对脚本添加相应的检查点来进行测试。该过程的产出物是《自动化测试用例》。

2.3 自动化脚本设计(可选) 根据《软件需求规格说明书》、《自动化测试用例》、《系统原型》、《系统设计说明书》编写《自动化脚本设计说明书》,其主要内容包括:分析当前项目,设计出适合的脚本基本架构,针对特殊自动化测试用例设计可行的脚本编写方法,设计特殊检查点的实现方式,并对潜在的技术难点提出解决方案。该过程的产出物是《自动化脚本设计说明书》。 2.4 自动化脚本编写 根据《软件需求规格说明书》、《自动化测试用例》、《系统原型》、《自动化脚本设计说明书》,录制、调试、编写各个功能点的自动化测试脚本,并添加检查点,进行参数化。该过程还需要编写数据文件处理脚本、日志文件处理脚本、数据库处理脚本、公共检查点处理脚本等等。该过程的产出物是各个功能点的自动化测试脚本和其他公共处理脚本。 2.5 自动化测试数据设计 根据《软件需求规格说明书》、《自动化测试用例》设计出对各个功能点和相关业务规则进行测试的输入数据和预期输出,填写入对应的数据文件中。该过程的产出物是各个功能点的数据文件。 2.6 自动化测试执行 搭建好测试环境。根据《自动化测试用例》,执行自动化脚本,对系统进行自动化测试,并自动记录测试结果到日志文件中。 2.7 自动化测试结果分析 对测试结果文件中报告错误的记录进行分析,如果确实是由于被测系统的缺陷导致,则提交缺陷报告。对自动化测试的结果进行总结,分析系统存在的问题,提交《测试报告》。 2.8 自动化测试脚本维护(可选) 如果系统发生变更时,对自动化测试脚本和相关文档包括《自动化测试用例》、《自动化脚本设计说明书》进行维护,以适应变更后的系统。

市政工程资料表格填写范例样本

1、施管表填写 施工技术文件要按单位工程进行组卷。市政工程中的独立核算项目,应是一个单位工程。采用分期单独核算的同一市政工程,应是若干个单位工程。 1.1 施管表1的填写 文件材料部分的排列宜按以下顺序: (1)施工组织设计。 (2)施工图设计文件会审、技术交底记录。 (3)设计变更通知单、洽商记录。 (4)原材料、成品、半成品、构配件、设备出厂质量合格证书、出厂检(试)验报告和复试报告。(需一一对应)。 (5)施工试验资料。 (6)施工记录。 (7)测量复核及预检记录。 (8)隐蔽工程检查验收记录。 (9)工程质量检验评定资料。 (10)使用功能试验记录。 (11)事故报告。 (12)竣工测量资料。 (13)竣工图。 (14)工程竣工验收文件。 文件目录表中的文件编号横杠前的数字为总的卷数,横杠后的数字为本卷项目编号。页号应是本项目在卷中的页码位置,不能光写本项目的页数。类别栏应与该项表头右上方类别相同。现以道路工程为

例示范见后。 1.2 施管表2的填写 存在问题及处理意见栏中填验收检查时发现的问题,一般无什么大问题也可不填。但如工程出过事故,事故处理情况应作简要说明。验收范围及数量栏应扼要填写。本表主要强调各参与单位均应签字盖章。填法示范见后。 1.3 施管表3的填写 施工组织设计应包括下列主要内容: (1)工程概况:工程规模、工程特点、工期要求、参建单位等。 (2)施工平面布置图。 (3)施工部署和管理体系:施工阶段、区划安排;进度计划及工、料、机、运计划表和组织机构设置。组织机构中应明确项目经理、技术负责人、施工管理负责人及其他各部门主要责任人等。 (4)质量目标设计:质量总目标、分项质量目标,实现质量目标的主要措施、办法及工序、部位、单位工程技术人员名单。 (5)施工方法及技术措施(包括冬、雨期施工措施及采用的新技术、新工艺、新材料、新设备等)。 (6)安全措施。 (7)文明施工措施。 (8)环保措施。 (9)节能、降耗措施。 (10)模板及支架、地下沟槽基坑支护、降水、施工便桥便线、构筑物顶推进、沉井、软基处理、预应力筋张拉工艺、大型构件吊运、混凝土浇筑、设备安装、管道吹洗等专项设计。 这张表为施工单位内部审批表,先由施工单位内部各部门看过以

分镜头剧本范文.doc

分镜头剧本范文(一) 主题:每个人都会遇到那么一个人,一瞬间的心动让我们记住这个人,也让我们保留了最纯真的那种感觉。 剧本梗概:男主在西湖参加好朋友的结婚宴那天邂逅了一位少女,并拾到了少女遗留下来的画。一次在男主当博物馆志愿者的时候偶然遇见了那位让他心动的少女,他发现少女居然是一位聋哑人,然后为她讲解文物。最后,男主来到少女工作的地方把画还给少女。 主要人物:男主(大学老师),女主(聋哑人),新郎,新娘,父,母,孩子们,咨询台服务员。 第一幕 西湖,结婚宴,白天中午 空镜头俯拍婚宴整体 新郎:【特写】我愿意 新娘:【特写】我愿意 新郎新娘交换戒指【特写】,两人接吻【镜头由特写渐渐拉远】 嘉宾鼓掌【全景】。 嘉宾席中男主微笑看着【近景到特写】。 镜头快速闪过回忆(黑白) 母:【中景正面拍摄】(抱怨)你看看你,人家XX都要结婚了,你连个对象都还没有,真是急死人了。你,你,你怎么就这么不懂事呢? 父:【中景正面拍摄】(语重心长)哎,儿子,你都这么大了,也知道该做些什么事了,别让爸妈等太久,啊。 【镜头回到现在,彩色】 男主:(微笑着叹气)唉。【近景】 第二幕 西湖,嘉宾散席。男主在西湖散步。【全景】(音乐渐起。空镜头夕阳。拍摄西湖美景。最后 镜头沿着一颗大树向下摇。这时出现一位少女。) 【慢镜头】少女:【近景】(低头仔细画着画)阳光洒在少女身上,泛起一股朦胧感。 男主:(怦然心动,心跳声)【近景】少女:(抬头看向天空微笑)【特写】男主:(低头踌 躇片刻,然后鼓起勇气上前,却发现少女已经转身离去) 【镜头慢慢摇到少女坐下的大树,镜头里出现少女遗留下来的画】 男主:(上前捡起画,对少女喊着)唉,你的画。【中景】 少女:(继续走,仿佛没有听见,接着上了一辆大吧车)【全景】 男主:(追赶不上少女,看着大吧车远去)【全景】 第三幕【镜头拍摄西湖景观】男主:(站在断桥上,想寻找少女的身影却没有找到。)失 落 【镜头最后定格在那棵大树上,镜头透过大树变换成画中景】 第四幕【镜头转接中国京杭大运河博物馆内的一幅画,接着拍摄博物馆内景】 男主带领学生来博物馆参见实践活动。【俯拍全景】男主:(拍手)好了,接下来你们自 由活动,但是别忘了我提出的问题,下星期可是要加论文的啊! 学生们:(手中拿着笔记本,笑着回答)是。学生渐渐散开男主:(从包中拿出一张博物 馆讲解员志愿者身份证明牌戴在脖子上)【特写】 男主在博物馆里向各类人介绍。【快速镜头】这时男主接待了一群孩子,但是却没有发现大 人。 男主:(对孩子们)怎么没有大人跟着?【全景】 孩子们:(静静的看向男主)【中景】男主:(疑惑)怎么了吗?【近景】

自动化测试脚本编写规范

自动化测试脚本编写规范 为了使所有的测试工程师在进行自动化设计和测试时能够使编写的脚本风格一致、步骤一致,能够把大家的设计和代码组装在一起,因此有必要对自动化测试脚本编写进行统一的规范化,下面就先来介绍我们的项目组整理编写的自动化脚本编写的规范。 1.自动化脚本编写的规范 1)基本信息 在每个脚本模块的最上面,必须写上脚本运行的软件和硬件环境(如IE版本、QTP版本、数据库版本等)、外包项目名称、脚本编写人(使用英文名或中文拼音缩写)、脚本创建时间、脚本修改时间、修改说明、输入参数、输出参数、脚本描述等。 2)常量命名规范 常量的命名应该全部用大写,使用"_"作为单词间的分隔符,单词尽量使用全名称,如,Public Const MSG_EMPTY_ROW As String = "有空行存在"。 使用Public而不是早期版本的global来声明变量。 另外,对常量的声明必须带上类型,如前面的As String。 3)变量命名规范 变量命名应该简单,应尽量使用缩写。如果是一般的值类型(如integer string),则直接使用变量用途命名。尽量使用全名,例如,Dim name As String;如果是一般的临时性变量定义,应该尽可能地简单,例如,Dim i As Integer;如果名称由多个单词组成,则取每个单词的首字母,如EntityManager缩写为e m,ProcedureManager缩写为pm;如果名称由一个单词组成,则对单词进行分段取首字母,如Entity缩写为et。缩写应该控制在3个字母以内,且尽量清晰。 4)参数命名规范 参数命名的原则是全部用小写,如果参数包括两个或两个以上的单词时,首单词字母小写,其他单词首字母大写,如stepName、stepDescription。 5)函数命名规范 此处函数包括sub和function,函数表示的是一个动作,所以它的结构应该是动词+名词,动词必须小写,后面的名称首字母大写,如getMaterialCode。函数命名尽量不要使用缩写,而且它的名称应该使人一

学习游戏脚本制作:按键精灵里的if语句教程

学习游戏脚本制作:按键精灵里的if语句教程 来源:按键学院【按键精灵】万万没有想到……有一天居然会栽在if语句手里。 First—小编的凄惨经历 小编今早写脚本,由于无意间将if语句中的end if错删了,弹出了这样的错误提示: “(错误码0)没有找到合法的符号。” 看到这个提示,小编以为是哪个逗号不小心写成中文逗号,没成想丢了个end if也是出现这样的提示。 好在代码不多,所以错误点容易找到,那……如果,代码多达几百上千条的时候呢?眼泪马上掉出来~ 今天在这里和童鞋们一起来了解下,按键里的夫妻组合,看看这些夫妻被分开之后都会出现什么样的可怕情况: Second—一夫一妻制 If……end if判断语句 If判断语句,有分为两种: 1、 if语句条(条模式) 当判断完之后,要执行的语句只有一条的时候,使用if语句条

例如: If 1 > 0 Then MessageBox"Hello~" // If语句条,不需要添加end if //条模式的时候,if语句还是单身,不是夫妻组合 2、 if语句块(块模式) 当判断完之后,要执行的语句有很多条的时候,使用if语句块 例如: If 1 > 0Then MessageBox"Hello~" MessageBox"Hello~" End If //块模式的时候,if语句是已婚状态,夫妻组合。如果这个时候缺少了end if 就会出现下面的错误提示: 拓展:if语句块中then 可以省略 例如: If 1 >0 MessageBox"Hello~" MessageBox"Hello~"

End If For……next循环语句 例子: For i=1 To 10 //这里的脚本可以循环10次 Next 拓展:如果,循环体里不需要用到循环次数值,例如,需要打开十个记事本,可以这样写: For 10 RunApp "Notepad.exe" Next 当for循环语句缺少next的时候,会出现下面的错误提示: Do……Loop 循环语句 Do……Loop循环语句分为两种情况: 1、前判断 Do While条件 Loop

编写自动化测试脚本心得---菜鸟入门篇

编写自动化测试脚本心得 --------菜鸟入门篇 本文中将不会讲解ISEE的测试原理、不说明Python的常用语法、不介绍OTP测试平台的架构,自动化测试组的牛人们已经为我们编写了很多这些方面的资料,而且我也怕学艺不精说的不对,因为……我还是一只小小的菜鸟。写这篇文档分享我的一点点小心得,只是为了让后面更多的菜鸟们在编写第一个脚本的时候少一些困惑、多一点自信。 1、现在大家使用的ISEE工具,分为安装版和拷贝版。两者在使用上一个很大的区别是, 拷贝版本不能新建测试用例、测试文件夹。使用拷贝版的同事,在已有测试用例中新建测试脚本,脚本的执行效果是一样的。 2、测试脚本的结构。常用测试脚本的结构基本相同,分为三大部分: 1)引用测试用例需要的类、库等文件 -----这部分的改动很容易 2)定义测试实现类A,这个类通常有两个函数def # Block1:测试用例初始化。 def InitTest(self): -----这里主要是初始化TA,大多数情况下不需要修改 # Block2:测试用例主体 def Testing(self): ------这部分是我们的重点了,所有的脚本功能都要在这里定义完成3)实例化A,脚本执行定义动作的入口 -----这部分基本不需要改动,直接复用借用前辈们的代码就OK啦 3、脚本的第一行都会有这样一段,注意哦,这个不是注释,不能删除的。有了这句才能在 脚本里写中文。 #coding:utf-8 4、脚本里需要发送的消息除了在脚本中需要构造输入参数之外,还要保证在ISEE中有对 应命令码的用例数据。举例如下: 脚本中有如下代码,需要发送0x2a1d命令 此时需要确认用例数据中有0x2a1d命令数据。如果没有需要新建,只要构造报文头部分就可以了,其他的内容我们强大的自动化平台全部在后台搞定。

一整套市政工程资料填写范例1

4/4/20201、施管表填写 施工技术文件要按单位工程进行组卷。市政工程中的独立核算项目,应是一个单位工程。采用分期单独核算的同一市政工程,应是若干个单位工程。 1.1 施管表1的填写 文件材料部分的排列宜按以下顺序: (1)施工组织设计。 (2)施工图设计文件会审、技术交底记录。 (3)设计变更通知单、洽商记录。 (4)原材料、成品、半成品、构配件、设备出厂质量合格证书、出厂检(试)验报告和复试报告。(需一一对应)。 (5)施工试验资料。 (6)施工记录。 (7)测量复核及预检记录。 (8)隐蔽工程检查验收记录。 (9)工程质量检验评定资料。 (10)使用功能试验记录。 (11)事故报告。 (12)竣工测量资料。 (13)竣工图。 (14)工程竣工验收文件。 文件目录表中的文件编号横杠前的数字为总的卷数,横杠后的数字为本卷项目编号。页号应是本项目在卷中的页码位置,不能光写本项目的页数。类别栏应与该项表头右上方类别相同。现以道路工程为

例示范见后。 1.2 施管表2的填写 存在问题及处理意见栏中填验收检查时发现的问题,一般无什么大问题也可不填。但如工程出过事故,事故处理情况应作简要说明。验收范围及数量栏应扼要填写。本表主要强调各参与单位均应签字盖章。填法示范见后。 1.3 施管表3的填写 施工组织设计应包括下列主要内容: (1)工程概况:工程规模、工程特点、工期要求、参建单位等。 (2)施工平面布置图。 (3)施工部署和管理体系:施工阶段、区划安排;进度计划及工、料、机、运计划表和组织机构设置。组织机构中应明确项目经理、技术负责人、施工管理负责人及其他各部门主要责任人等。 (4)质量目标设计:质量总目标、分项质量目标,实现质量目标的主要措施、办法及工序、部位、单位工程技术人员名单。 (5)施工方法及技术措施(包括冬、雨期施工措施及采用的新技术、新工艺、新材料、新设备等)。 (6)安全措施。 (7)文明施工措施。 (8)环保措施。 (9)节能、降耗措施。 (10)模板及支架、地下沟槽基坑支护、降水、施工便桥便线、构筑物顶推进、沉井、软基处理、预应力筋张拉工艺、大型构件吊运、混凝土浇筑、设备安装、管道吹洗等专项设计。 这张表为施工单位内部审批表,先由施工单位内部各部门看过以

移动APP测试之Monkey Test 运用

移动APP测试之Monkey Test 运用 Monkey是Android平台自动化测试的一种手段,可以在模拟器里或实际设备中运行,它向系统发送伪随机的用户事件流,如按键输入、触摸屏输入、手势输入等,实现对正在开发的应用程序进行压力测试。 当然对于移动APP测试,monkey测试出了压力测试外,也可以做做简单的机型配适,就是测试App是否会出现crash等异常,以此来判读其释放与机型适配,可以发现程序无响应问题和崩溃问题。 接下来简单说说: Monkey程序由Android系统自带,使用Java语言写成,在Android文件系统中的存放路径是:/system/framework/monkey.jar; Monkey.jar程序是由一个名为“monkey”的Shell脚本来启动执行,shell脚本在Android文件系统中的存放路径是:/system/bin/monkey; 特征 1、测试的对象仅为应用程序包,有一定的局限性。 2、Monky测试使用的事件流数据流是随机的,不能进行自定义。 3、可对MonkeyTest的对象,事件数量,类型,频率等进行设置。 这样就可以通过在CMD窗口中执行: adb shell monkey {+命令参数}来进行Monkey测试了。 基本使用 1. 进入monkey 命令:adb shell/system/bin/monkey 2. 运行monkey 命令:adb shell monkey 是指随机发送事件数 adb shell monkey 100,运行monkey并执行了100件随机事件。 3. monkey常规类命令 adb shell monkey -h 显示monkey参数帮助信息usage adb shell monkey -v 打印出日志信息,每个-v将增加反馈信息的级别,最多支持3个-v 4. monkey事件类命令

pythonwebdriver自动化测试实战

项目实战 第5章测试模型与测试脚本优化 第一节、测试模型介绍 线性测试 通过录制或编写脚本,一个脚本完成用户一套完整的操作,通过对脚本的回放来进行自动化测试。这是早期进行自动化测试的一种形式;我们在上一章中练习使用所编写的脚本也是这种形式。 脚本一

脚本二 通过上面的两个脚本,我们很明显的发现它的问题: 一个用例对应一个脚本,假如界面发生变化,用户名的属性发生改变,不得不需要对每一个脚本进行修改,测试用例形成一种规模,我们可能将大量的工作用于脚本的维护,从而失去自动化的意义。 这种模式下数据和脚本是混在一起的,如果数据发生变也也需要对脚本进行修改。 这种模式下脚本的可重复使用率很低。 模块化与库 我们会清晰的发现在上面的脚本中,其实有不少内容是重复的;于是就有了下面的改进。

测试用例: 注意,上面代码并非完整代码,不能运行。 通过上面的代码发现,我们可以把脚本中相同的部分独立出来,形成模块或库;当脚本需要进行调用。这样做有两个好处: 一方面提高了开发效率,不用重复的编写相同的脚本;另一方面提高了代码的复用。 数据驱动 数据驱动应该是自动化的一个进步;从它的本意来讲,数据的改变(更新)驱动自动化的执行,从而引起结果改变。这显然是一个非常高级的概念和想法。 其实,我们能做到的是下面的形式。 d:\\

图4 8 = ("D:\\\\", "r") = () () #执行循环 : = () ("") ("")() ..... 不管我们读取的是文件,还是、文件的之类,又或者是数组、字典函数。我们实现了数据与脚本的分离,换句话说,我们实现了参数化。我们仍一千条数据,通过脚本的执行,可以返回一千条结果出来。 同样的脚本执行不同的数据从而得到了不同的结构。是不是增强的脚本的复用性呢! 其实,这对开发来说是完全没有什么技术含量的;对于当初自动化工具来说确是一个买点,因为它面对的大多是不懂开发的测试。

公路工程全套资料填写范本

X X X工程资料整理 范本

目录 第一章交桩和复测报告 第一节交桩 (1) 第二节复测报告 (4) 第二章开工报告 (12) 第三章原材料出厂质量证明和工地试验报告 第一节原材料出场质量证明 (24) 第二节工地原材料抽检试验报告 (24) 第四章路基工程施工资料 第一节路基检验记录整理顺序 (26) 第二节路基排水资料整理顺序 (44) 第三节挡土墙、防护工程资料整理顺序 (52) 第四节小桥和涵洞资料整理顺序 (60) 第五章路面工程施工资料 第一节水泥稳定粒料基层(底基层)资料整理顺序 (80) 第二节沥青混凝土面层资料整理顺序 (88) 第三节水泥混凝土面层资料整理顺序 (93) 第四节路缘石资料整理顺序 (97) 第五节路肩资料整理顺序 (100) 第六章桥涵工程施工资料 第一节施工试验报告 (102) 第二节施工检验资料整理顺序 (107) 一、基础及下部构造资料整理顺序 (107) 二、上部构造预制和安装资料整理顺序 (145) 三、总体、桥面系和附属工程资料整理顺序 (157) 第三节悬索桥资料整理顺序 (181) 第七章施工检验结果汇总表 第一节施工抽检试验结果汇总表 (213) 第二节施工检验结果汇总表 (217) 第八章监理资料 第一节监理行政管理文件 (223) 第二节合同管理文件 (237) 第三节进度管理文件 (252) 第四节质量管理文件 (259) 第五节计量支付文件 (286) 第六节监理原始资料 (302)

第九章内业资料整理规定 (303) 第一节科技档案归档须知 (303) 第二节科技档案分类 (305) 第三节XXX工程竣工文件材料立卷归档管理办法 (308) 第四节河北省XXX工程竣(交)工验收办法实施细则 (320) 第五节内业资料归档程序表格 (353)

monkey测试指南

Monkey 测试指南 前言 Monkey。顾名思义就是像只活泼的猴子,乱按乱跳乱来。术语上来讲,就是产生各种各样的随机事件来对软件进行测试。其优点缺点都是不可控性。好处是脱离测试的习惯框架,多次的组合测试可以暴露出不少隐性的问题(就是把程序搞崩溃,哈哈);缺点则是无法得出具体的缺陷在哪,重现步骤如何等等的具体问题,往往我们得就是崩溃跟超时。 测试目的 检测该软件的稳定性、健壮性。它的原理是向系统发送伪随机的用户事件流(如按键输入、触摸输入、手势输入等),实现对正在开发的应用程序进行压力测试。 测试格式 基本语法如下: $ adb shell monkey [options] 如果不指定options,Monkey将以无反馈模式启动,并把事件任意发送到安装在目标环境中的全部包。下面是一个更为典型的命令行示例,它启动指定的应用程序,并向其发送1000个伪随机事件: $ adb shell monkey -p https://www.wendangku.net/doc/c211555522.html, -v number $ monkey -p(package的意思)指定文件名-v(测试的次数和频率)number(次数)测试流程 通过简单的测试示例,初步了解并掌握Monkey测试的步骤。注意,这里主要是使用adb命令进行安装和相关操作。测试的具体参考步骤如下: (1)首先,先准备了一个测试用的应用程序(apk文件)。为了测试,这里选择了云菜单 下载好后,得到下图所示的apk文件。 (2)将apk文件复制到android sdk对应platform-tools的目录下。例如,笔者的sdk路径为

D:\adt-bundle-windows-x86-20131030\sdk\platform-tools。如图所示 (3)进行apk文件的安装(安装的前提是,已经启动并可以检测模拟器):有安装91助手或者豌豆的用户可以直接双击apk文件进行安装;也可以使用android下的adb命令进行安装(如下图所示,Success表示安装成功)。adb命令下安装apk文件的命令为:adb install 文件名.apk。 (4)安装好后,会在模拟器上看到应用程序的启动图标 (5)安装好apk文件后,需要知道应用程序主Activity(第一个启动的Activity)所在的包名。这时,我们可以使用adb shell命令查找到程序主Activity所在的包名,如下图所示。(知道了apk的包名,我们也可以利用adb命令进行应用程序的卸载;卸载apk文件的命令为:

江苏建筑工程施工资料表格填写范例

江苏省建筑工程施工资料表格填写范例章建筑与结构工程施工资料第1 土建工程施工资料工程概况工程项目施工管理人员名单施工现场质量管理检查记录 施工组织设计、施工方案审批表技术交底记录 开工报告 工程竣工报告图纸会审、设计变更、洽商记录汇总表 图纸会审、设计变更、洽商记录 设计交底记录 工程定位测量、放线验收记录 钢材合格证和复试报告汇总表水泥出厂合格证、复试报告汇总表砖(砌块)检验报告汇总表 出厂检验报告和进场复验报告汇总表 防水和保温材料合格证、复试报告汇总表 (其他)建筑材料合格证、复试报告汇总表混凝土试块试压报告汇总表混凝土强度评定结构实体混凝土强度评定 砂浆强度汇总评定表 钢筋连接试验报告、焊条(剂)合格证汇总表 土壤试验记录汇总表隐蔽工程验收记录施工日志 现场施工预应力记录 地基验槽记录和地基处理记录 混凝土(其他)构件合格证汇总表钢筋保护层厚度实测表 屋面泼水、淋水、蓄水试验记录 地下室防水效果检查记录 厕所、厨房、阳台等有防水要求的地面泼水、蓄水试验记录 建筑物垂直度、标高、全高测量记录. 烟气(风)道工程检查验收记录 建筑物沉降观测记录 单位(子单位)工程质量竣工验收记录 单位(子单位)工程安全和功能检验资料核查及主要功能抽查记录 单位(子单位)工程观感质量检查记录 分部(子分部)工程验收记录 分项工程质量验收记录 土方开挖分项工程检验批质量验收记录 土方回填分项工程检验批质量验收记录 混凝土板桩制作分项工程检验批质量验收记录 锚杆及土钉墙支护分项工程检验批质量验收记录 钢或混凝土支撑系统分项工程检验批质量验收记录 地下连续墙分项工程检验批质量验收记录 沉井(箱)分项工程检验批质量验收记录

Monkey测试简介[附示例]

一、Monkey测试简介 Monkey测试是Android平台自动化测试的一种手段,通过Monkey程序模拟用户触摸屏幕、滑动Trackball、按键等操作来对设备上的程序进行压力测试,检测程序多久的时间会发生异常。 二、Monkey程序介绍 1) Monkey程序由Android系统自带,使用Java语言写成,在Android文件系统中的存放路径是:/system/framework/monkey.jar; 2) Monkey.jar程序是由一个名为“monkey”的Shell脚本来启动执行,shell脚本在Android文件系统中的存放路径是:/system/bin/monkey;这样就可以通过在CMD窗口中执行: adb shell monkey {+命令参数}来进行Monkey测试了。 三、Monkey命令的简单帮助 要获取Monkey命令自带的简单帮助,在CMD中执行命令: adb shell monkey –help 四、Monkey命令参数介绍 1) 参数: -p 参数-p用于约束限制,用此参数指定一个或多个包(Package,即App)。指定 包之后,Monkey将只允许系统启动指定的APP。如果不指定包,Monkey将允许系统启动设备中的所有APP。 * 指定一个包:adb shell monkey -p com.htc.Weather 100 说明:com.htc.Weather为包名,100是事件计数(即让Monkey程序模拟100次随机用户事件)。 * 指定多个包:adb shell monkey -p com.htc.Weather –p com.htc.pdfreader -p com.htc.photo.widgets 100 * 不指定包:adb shell monkey 100 说明:Monkey随机启动APP并发送100个随机事件。 * 要查看设备中所有的包,在CMD窗口中执行以下命令: >adb shell #cd data/data #ls 2) 参数: -v 用于指定反馈信息级别(信息级别就是日志的详细程度),总共分3个级别,分别对应的参数如下表所示: 日志级别Level 0 示例adb shell monkey -p com.htc.Weather –v 100 说明缺省值,仅提供启动提示、测试完成和最终结果等少量信息 日志级别Level 1 示例adb shell monkey -p com.htc.Weather –v -v 100 说明提供较为详细的日志,包括每个发送到Activity的事件信息

学会用按键精灵制作游戏脚本之前后台坐标关联教程

学会用按键精灵制作游戏脚本之前后台坐标关联教程 来源:按键学院【按键精灵】 各位大大在切换前后台命令的时候,有没有遇到坐标切换呢~ 有没有发现前后台的命令,对同一个窗体内容,居然坐标不同!! 今天~院刊就跟大家普及下前台坐标与相对应的后台坐标知识~ 什么是前台坐标和后台坐标呢? 什么是前台坐标? 以屏幕左上角的坐标为起点(0,0,从而获取到的各个窗体的坐标,就是前台坐标。 什么是后台坐标? 以窗口左上角为起点(0,0,从而获取到的这个窗体内的相对坐标,就是后台坐标。 如图: 我们来举个栗子吧,例如txt文本里的输入文字的起始点。

至此,各位大大知道前后台坐标的联系了吧。一个是绝对坐标(前台),一个是相对坐标(后台)。 那么如何进行前后台坐标的切换呢 从上图里,聪明机智的小伙伴们就会发现:如果知道了前台坐标,也知道了窗口左上角的值。那么窗口客户区内的 任意后台的坐标,不是都可以通过以下计算来获得了: 后台x坐标=客户区前台x坐标-客户区左上角前台x坐标 后台y坐标=客户区前台y坐标-客户区左上角前台y坐标 如何获得客户区前台的x,y坐标呢? 我们使用按键精灵自带的窗体插件命令:GetWindowRect来获取。 命令名称: GetWindowRect 窗口边框大小 命令功能:得到窗口句柄的边框大小(包括标题栏 命令参数:参数1 整数型,窗口句柄

返回值:字符串型,边框大小(包括标题栏 注:返回为:边框窗口左角X坐标|边框窗口左上角Y坐标|边框窗口右下角X坐标 |边框窗口右下角Y坐标 //下面这句是得到窗口句柄的边框大小(包括标题栏 sRect = Plugin.Window.GetWindowRect(句柄 将你所要获取的窗口句柄填入括号内就可以啦~ 范例举例: 举个萌萌哒的例子:向记事本特定位置输入文字。 例如我要往“hello”和“按键精灵”中间插入文字: 2014-9-17 18:03 上传 下载附件(8 KB 思路: 每次打开记事本的位置,有可能会有变化。而我们又不能每次都要去获取它的坐标再改脚本,这样太费力了。所以呢,只要锁定了记事本,知道了目标在记事本中的相对位置就可以操作啦。 同理,寻找游戏里的物品目标,前台不稳定。后台命令也是基于相对坐标的。 1. 先找到目标窗体的左上角坐标 (通过窗体插件命令:GetWindowRect来获取) 2. 再找到目标窗体内,“hello”和“按键精灵”中间的坐标 (为了方便,我们用抓抓获取。在游戏中,可以通过找图找色来获取前台坐标)

自动化测试流程

功能自动化测试流程 1概述 本流程是描述软件功能自动化测试过程中的步骤、内容与方法,明确各阶段的职责、活动与产出物。 2流程活动图 3活动说明 3.1 测试计划(可选) 与以前的测试计划过程一致,只是在原来的测试计划中,添加对项目实施自动化测试所需的资源、测试范围、测试进度的描述。该过程产出物为《测试计划》。 3.2 自动化测试用例设计 根据《测试计划》、《软件需求规格说明书》、《系统测试用例》设计出针对自动化测试的测试用例。测试用例的粒度精确到单个功能点或流程,对于各个功能点的业务规则,通

过对脚本添加相应的检查点来进行测试。该过程的产出物是《自动化测试用例》。 3.3 自动化脚本设计(可选) 根据《软件需求规格说明书》、《自动化测试用例》、《系统原型》、《系统设计说明书》编写《自动化脚本设计说明书》,其主要内容包括:分析当前项目,设计出适合的脚本基本架构,针对特殊自动化测试用例设计可行的脚本编写方法,设计特殊检查点的实现方式,并对潜在的技术难点提出解决方案。该过程的产出物是《自动化脚本设计说明书》。 3.4 自动化脚本编写 根据《软件需求规格说明书》、《自动化测试用例》、《系统原型》、《自动化脚本设计说明书》,录制、调试、编写各个功能点的自动化测试脚本,并添加检查点,进行参数化。该过程还需要编写数据文件处理脚本、日志文件处理脚本、数据库处理脚本、公共检查点处理脚本等等。该过程的产出物是各个功能点的自动化测试脚本和其他公共处理脚本。 3.5 自动化测试数据设计 根据《软件需求规格说明书》、《自动化测试用例》设计出对各个功能点和相关业务规则进行测试的输入数据和预期输出,填写入对应的数据文件中。该过程的产出物是各个功能点的数据文件。 3.6 自动化测试执行 搭建好测试环境。根据《自动化测试用例》,执行自动化脚本,对系统进行自动化测试,并自动记录测试结果到日志文件中。 3.7 自动化测试结果分析 对测试结果文件中报告错误的记录进行分析,如果确实是由于被测系统的缺陷导致,则提交缺陷报告。对自动化测试的结果进行总结,分析系统存在的问题,提交《测试报告》。 3.8 自动化测试脚本维护(可选) 如果系统发生变更时,对自动化测试脚本和相关文档包括《自动化测试用例》、《自动化脚本设计说明书》进行维护,以适应变更后的系统。

江苏省建筑工程施工资料表格填写范例

江苏省建筑工程施工资料表格填写范例 第1章建筑与结构工程施工资料 土建工程施工资料 工程概况 工程项目施工管理人员名单 施工现场质量管理检查记录 施工组织设计、施工方案审批表 技术交底记录 开工报告 工程竣工报告 图纸会审、设计变更、洽商记录汇总表 图纸会审、设计变更、洽商记录 设计交底记录 工程定位测量、放线验收记录 钢材合格证和复试报告汇总表 水泥出厂合格证、复试报告汇总表 砖(砌块)检验报告汇总表 出厂检验报告和进场复验报告汇总表 防水和保温材料合格证、复试报告汇总表 (其他)建筑材料合格证、复试报告汇总表 混凝土试块试压报告汇总表 混凝土强度评定 结构实体混凝土强度评定 砂浆强度汇总评定表 钢筋连接试验报告、焊条(剂)合格证汇总表 土壤试验记录汇总表 隐蔽工程验收记录 施工日志 现场施工预应力记录 地基验槽记录和地基处理记录 混凝土(其他)构件合格证汇总表 钢筋保护层厚度实测表 屋面泼水、淋水、蓄水试验记录 地下室防水效果检查记录 厕所、厨房、阳台等有防水要求的地面泼水、蓄水试验记录 建筑物垂直度、标高、全高测量记录

烟气(风)道工程检查验收记录 建筑物沉降观测记录 单位(子单位)工程质量竣工验收记录 单位(子单位)工程安全和功能检验资料核查及主要功能抽查记录单位(子单位)工程观感质量检查记录 分部(子分部)工程验收记录 分项工程质量验收记录 土方开挖分项工程检验批质量验收记录 土方回填分项工程检验批质量验收记录 混凝土板桩制作分项工程检验批质量验收记录 锚杆及土钉墙支护分项工程检验批质量验收记录 钢或混凝土支撑系统分项工程检验批质量验收记录 地下连续墙分项工程检验批质量验收记录 沉井(箱)分项工程检验批质量验收记录 灰土地基分项工程检验批质量验收记录 砂和砂石地基分项工程检验批质量验收记录 土工合成材料地基分项工程检验批质量验收记录 粉煤灰地基分项工程检验批质量验收记录 强夯地基分项工程检验批质量验收记录 注浆地基分项工程检验批质量验收记录 预压地基分项工程检验批质量验收记录 振冲地基分项工程检验批质量验收记录1 高压喷射注浆地基分项工程检验批质量验收记录 水泥土搅拌桩地基分项工程检验批质量验收记录 土和灰土挤密桩复合地基分项工程检验批质量验收记录 水泥粉煤灰碎石桩复合地基分项工程检验批质量验收记录 夯实水泥土桩复合地基分项工程检验批质量验收记录 砂桩地基分项工程检验批质量验收记录 模板分项工程(现浇结构模板安装)检验批质量验收记录 模板分项工程(模板拆除)检验批质量验收记录 钢筋分项工程(原材料、钢筋加工)检验批质量验收记录 钢筋分项工程(钢筋连接、钢筋安装)检验批质量验收记录 混凝土分项工程(原材料、配合比设计)检验批质量验收记录 混凝土分项工程(混凝土施工)检验批质量验收记录 现浇结构分项工程(结构施工)检验批质量验收记录 现浇结构分项工程(设备基础)检验批质量验收记录 砖砌体分项工程检验批质量验收记录 防水混凝土分项工程检验批质量验收记录

Monkey操作手册

Monkey操作手册 一、Monkey a) Monkey是什么? Monkey就是SDK中附带的一个工具。Monkey测试是Android自动化测试的 一种手段,Monkey测试本身非常简单,当Monkey程序在模拟器或设备运行 的时候,如果用户出发了比如点击,触摸,手势或一些系统级别的事件的时候, 它就会产生随机脉冲,所以可以用Monkey用随机重复的方法去负荷测试你开 发的软件。 Monkey是Android中的一个命令行工具,可以运行在模拟器里或实际设备中。 它向系统发送伪随机的用户事件流(如按键输入、触摸屏输入、手势输入等), 实现对正在开发的应用程序进行压力测试。Monkey测试是一种为了测试软件 的稳定性、健壮性的快速有效的方法。 b) Monkey测试的目的? 该工具用于进行压力测试。然后开发人员结合monkey打印的日志和系统打印的日志,结合测试中出现的问题。 c) Monkey的特征 i. Monky测试使用的事件流数据流是随机的,不能进行自定义。 ii. 测试的对象仅为应用程序包,有一定的局限性。 iii. 可对Monkey的对象,事件数量,类型,频率等进行设置。 二、环境搭建 a)连接手机: 1 Android需要Root,2 (不必须)安装RE,控制data/data 挂载权限工具安装 i.JDK安装:详细:JDK安装配置 ii.SDK安装:建议拷贝SDK包,解压后配置SDK环境变量或安装详细:SDK 安装配置 至此环境安装就结束了 三、Monkey:连接真机 因为模拟器和真机的巨大差距,建议使用真机做Monke自动化测试,如果没有真机,自行安装虚拟模拟器。 a)在cmd窗口下面输入adb decixes 显示出真机连接型号。 如果未出现

自动化测试实例报告

自动化测试实例报告 (制度报表生成子系统) ―――测试部 王攀攀 一、 概述 1.1测试目的 本次测试通过三个简单实例来描述TestComplete完成制度报表生成子系统自动化测 试过程。 1.2测试方法 ● 测试工具及脚本 应用TestComplete工具作为测试工具,对应用系统进行功能测试,并通过脚本进行管理等等。 ● 测试方法 通过工具TestComplete录制并回放,增加脚本编写,使其回放值与期望值一致。 1.3测试工具介绍 TestComplete——自动测试管理工具,全面支持工程层面上的测试,包括个体单元、性能测试、功能测试、回归测试、分布式测试以及HTTP性能测试等。 作为Aqtest的后继产品,TestComplete提供系统化、自动化和结构化的测试功能,支持Visual Studio .NET, Java, Visual Basic, C++ (Visual C++ and C++Builder), Delphi和Web程序。 二、 自动化测试实例一 2.1测试实例特征 本测试实例包括,用户登录,通过对指标集的维护进行自动化测试,包括指标的录入,删除,修改及保存功能。并对成功和异常操作分别记录操作日志和异常日志。

2.2测试过程 1装载应用 点选菜单File—Launch Applications,打开如下界面: 点击Add按钮加载应用,可加载多个,并可设置参数。本实例只加载单个应用,无参数(默认为NotOpenApp). 2.创建工程 点击File—New-Progect,出现图示界面: 选取脚本编码语言。

本工程主要包括两个unit.unit1中有main,主要是应用启动脚本编写.unit2中有三个test,分别是各功能维护操作录制。各功能罗列如下图所示: 3.启动应用脚本编写 uses unit2; var p, app : OleVariant; procedure Main; begin //******** begin 启动应用 ******** app := TestedApps.Items[0]; TestedApps.Items[0].Parameters := 'NotOpenApp'; //******** end 启动应用 ******** p := app.Run; //******** 执行测试 ******** try Test1; test2; test3; except

建筑工程资料表格填写范例

建筑工程资料表格填写范例 第1章监理资料 1.1基本规定 1.1.1一般规定 1.1.2监理资料管理流程 1.2监理管理资料 1.2.1监理规划、监理实施细则 1.2.2监理月报 1.2.3监理会议纪要 1.2.4监理工作日志 1.2.5监理工作总结 1.3监理工作记录 1.3.1工程技术文件报审资料 1.3.2施工测量放线报审资料 1.3.3工程进度控杀IJ报审资料 1.3.4工程质量控制报审、验收资料 1.3.5工程造价控制报审资料 1.4竣工验收资料 1.4.1单位工程竣工预验收资料 1.4.2工程质量评估报告 1.4.3竣工移交证书 1.5其他资料 1.5.1工作联系单 1.5.2工程变更单 第2章施工资料 2.1基本规定 2.1.1一般规定 2.1.2施工资料管理流程 2.2工程管理与验收资料 2.2.1工程概况表 2.2.2工程质量事故报告 2.2.3单位(子单位)工程质量验收文件 2.2.4室内环境检测报告 2.2.5施工总结

2.2.6工程竣工报告 2.3施工管理资料 2.3.1施工现场质量管理检查记录

2.3.2有见证取样和送检管理资料2.3.3 施工日志 2.4施工技术资料 2.4.1施工组织设计、施工方案2.4.2技术交底记录 2.4.3设计变更文件 2.5施工测量记录 2.5.1工程定位测量记录 2.5.2基槽验线记录 2.5.3楼层平面放线记录 2.5.4楼层标高抄测记录 2.5.5建筑物垂直度、标高观测记录2.5.6 沉降观测记录 2.6施工物资资料 2.6.1一般规定 2.6.2通用表格 2.6.3建筑与结构工程 2.6.4建筑装饰装修工程 2.6.5预应力工程 2.6.6钢结构工程 2.6.7木结构工程 2.6.8幕墙工程 2.6.9建筑给水、排水及采暖工程2.6.10建筑电气工程 2.6.11智能建筑工程 2.6.12通风与空调工程 2.6.13电梯工程 2.7施工记录 2.7.1通用表格 2.7.2建筑与结构工程 2.7.3电梯工程 2.8施工试验记录 2.8.1通用表格

Android测试命令行工具Monkey使用教程

Monkey是什么 Monkey是可以运行在模拟器里或实际设备中的程序。它向系统发送伪随机的用户事件流(如按键输入、触摸屏输入、手势输入等),实现对正在开发的应用程序进行压力测试。 Monkey简介 Monkey是一个命令行工具,可以运行在模拟器里或实际设备中。它向系统发送伪随机的用户事件流,实现对正在开发的应用程序进行压力测试。Monkey包括许多选项,它们大致分为四大类: ·基本配置选项,如设置尝试的事件数量。 ·运行约束选项,如设置只对单独的一个包进行测试。 ·事件类型和频率。 ·调试选项。 在Monkey运行的时候,它生成事件,并把它们发给系统。同时,Monkey 还对测试中的系统进行监测,对下列三种情况进行特殊处理: ·如果限定了Monkey运行在一个或几个特定的包上,那么它会监测试图转到其它包的操作,并对其进行阻止。 ·如果应用程序崩溃或接收到任何失控异常,Monkey将停止并报错。 ·如果应用程序产生了应用程序不响应(application not responding)的错误,Monkey将会停止并报错。 按照选定的不同级别的反馈信息,在Monkey中还可以看到其执行过程报告和生成的事件。 Monkey的基本用法 可以通过开发机器上的命令行或脚本来启动Monkey。由于Monkey运行在模拟器/设备环境中,所以必须用其环境中的shell来进行启动。可以通过在每条命令前加上adb shell来达到目的,也可以进入Shell后直接输入Monkey命令。基本语法如下:$ adb shell monkey [options] 如果不指定options,Monkey将以无反馈模式启动,并把事件任意发送到安装在目标环境中的全部包。下面是一个更为典型的命令行示例,它启动指定的应用程序,并向其发送500个伪随机事件:$ adb shell monkey -p https://www.wendangku.net/doc/c211555522.html, -v 500 命令选项参考

相关文档
相关文档 最新文档