已阅读5页,还剩4页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
DOS命令及C+简单介绍联想惠阳一厂工程处 张爱荣 2002/09/14摘要本文主要是从我们的自动测试程序和无硬自动测试程序入手,简单介绍一些DOS命令,并列举了一个简单的c+例子。关键字:DOS命令,C+目录一、应用背景3 二、DOS命令 3 1.自动测试程序举例3 2. 无硬机型自动测试程序举例 6三、C+简单举例 8四、总结9 一:应用背景:在日常工作中,处理标配出错问题,维护无硬测试程序,熟悉自动测试流程,都要用到批处理,CONFIG.SYS,内存管理等其他DOS命令;在自动测试中,为了实现DOS命令无法实现的功能,通常需要用C+命令编写一些程序,然后生成可执行命令,如BPCHK.EXE、DATESET.EXE、FAIL.EXE、PASS.EXE等,如果我们能对这些命令有所了解的话,则处理问题能够事半功倍。二:DOS命令:下面举两个我们现在正在使用的例子,来了解一些主要的DOS命令1、拿我们自动测试的autoexec.bat的一部分来说明一下:ECHO OFFrem -rem Test Initialization rem -/*rem的意思是不显示REM后面的内容,此部分是编程者做的注释*/set path=%path%;c:;c:test;c:dos;c:windowscommand;c:windowstemptest /* path路径名 ;路径名 ;路径名 path 之后若指定路径名(每个路径名要以分号隔开),则DOS在工作目录找不到命令之后,便会依循PATH所指定的路径到终点目录上去寻找命令*/c: /*回到C:目录下*/cdtest /*回到cdtest/目录下*/if exist initover goto teststart /*if exist filename,当filename为真时,条件为真,此句的意思是说,如果存在initover标识,则goto teststart*/dir initover /*建立一个initover标识*/*上述两句的原因,开始时执行teststart前的命令,即初始化,以后重新启动后就执行teststart后面的内容了*/rwprof /c c:testtestset.ini TestSet FaxModemInstalled Falseif errorlevel 1 goto teststartproces /s 190 noproces /s 130 no/*上述4句的意思是判断是否有FAX卡(testset.ini中的testset中的FaxModemInstalled= 项是由标配制作人员维护,如果此批无FAX卡,则在=号后面填写False否则填写True),如果有FAX卡,则执行if errorlevel 1 goto teststart;否则执行proces /s 190 no proces /s 130 no,即不测试FAX卡。注明:rwprof命令是用C+编写的,rwprof/c的意思是compare standardstring;proces /s 190 no的意思是把tstprocs.ini中的190设置为no,即不测试FAX卡;tstprocs.ini中的190默认为yes,如果测试fax卡,则测试完毕后程序会自动把yes改变为pass。程序自动测试下一步;tstprocs.ini和testset.ini请参照下面附件所描述.*/goto teststartrem -rem Test Startingrem -:TESTSTARTPROCES /G/* PROCES /G的意思是说getprocess NO ,比如下一步要测试UPGRADE,则NO IS 245*/REM -REM TI TESTREM -IF ERRORLEVEL 250 GOTO T1FLP /*T1软驱测试*/IF ERRORLEVEL 245 GOTO UPGRADE /*T1 BIOS检查和升级*/IF ERRORLEVEL 240 GOTO BKCMOS /*T1 备份CMOS*/IF ERRORLEVEL 220 GOTO T1CHKBP/*标配检查*/:T1CHKBPrem -rem TI Chkbp Start Of No. 220rem -c: /*回到C目录下*/cdtest /*回到cdtest目录下*/bpchk /comp /* bpchk是标配比较命令,用c+写的可执行命令,bpchk /comp的意思是生成本主机标配文件temp.ini*/ckfile temp.ini standard.ini error.log/* ckfile是用C+写的可执行命令,比较temp.ini(在线生产的主机生产的标配文件)和standard.ini(标配人员用标配工装用bpchk/create命令产生的标配文件)的不同点,并把不同点写到error.log中,如果相同,则error.log为o字节文本,否则就会记录不同点;例如,如果在线主机用错内存条,则检验标配时会报错并把比较的不同点写到errlor.log,分析时根据此文件可以判断是内存条用错*/del temp.ini /*删除temp.ini*/testlog datetime.dat TIBPCHEK /*意思是把标配比较的时间点和步骤记录到datetime.dat,主要目的是查证在线操作步骤及时间,利于问题的跟踪,testlog是c+命令*/proces /s 220 pass /*标配比较完后直接把220设置为pass*/GOTO TESTSTART /*重新回到TESTSTART,经过PROCES /G得到tstprocs.ini中下一个NO设置为yes的编号,继续下一个操作步骤*/总结:上述程序主要记录了自动测试程序autoexec.bat的开始部分和标配比较部分,我已经一一做了注释, autoexec.bat批处理命令把要执行的命令集合起来,且调用了其他程序,如下列附件,从而达到一个目标。附件:*Testset.ini文件内容:testsetNetInstalled=TrueNet=HDDInstalled=TrueFDDInstalled=FalseFaxModemInstalled=FalseFaxModem=standard.ini文件内容:BIOS InformationBIOSVersion=Intel 845 AGPSet BIOS for 8IDXI F2j LMemory InformationMEMSocket(1)=Installed(128 MB);Enabled(128 MB)Cache(L1)=32KCache(L2)=256K.tstprocs.ini文件内容:TestProcess250=yes245=yes240=yes220=yes190=yes144=yes130=yes*2、举一个我现在正在维护的开天1200无硬机型自动测试的例子,讨论一下config.sys、内存管理等,注意CONFIG.SYS是系统命令,AUTOEXEC.BAT是批处理命令,在启动主机时,先执行CONFIG.SYS,然后再执行AUTOEXEC.BAT。CONFIG.SYS(系统文件):common/*共用区*/device=himem.sys /* 扩展内存管理程序*/device=ramdrive.sys 4096/e/*RAMDRIVE.EXE是一个虚拟磁盘的驱动程序,所谓虚拟磁盘是指它并不是真正磁盘(如软盘,硬盘),而是由内存模拟的磁盘,用来暂时储存数据。所以,关机后,虚拟磁盘内的数据就消失不见了。Device=路径名RAMDRIVE.SYSDISKSIZE/E|/A.路径名:指定RAMDRIVE.SYS所在的路径。.DISKSIZE:指定虚拟磁盘的大小,范围由4-32768,欲设值由4-32768;./E:指定以扩展内存(XMS)供虚拟磁盘使用.下面对DOS下内存分配做一解释:*扩展内存区(XMS,1088KB-4MB高端内存区(HMA,1024KB-1088KB)上位内存块(UMB,640KB-1024KB)长规内存区(0-640KB) PC机内存配置1、 常规内存:长规内存容量至少有256KB,但最多只有640KB,因为DOS本身能够管理常规内存, 不用执行如HIMEM.SYS或EMM386.EXE之类的内存管理程序;2、 上位内存:可以用来存放设备驱动程序(Device Driver)和长驻内存程序(Terminate and Stay Resident,简写TSR);设备驱动程序简称为驱动程序,欲使用某个设备前,必须执行它的驱动程序,这样系统才能与之相连,如扩展内存管理程序HIMEM.SYS、磁盘高速缓冲区管理程序SMARTDRV.EXE等都属于驱动程序。一般地,在CONFIG.SYS文件中用DEVICE或DEVICEHIGN命令将它们装入内存;3、 高端内存:是扩展内存的第一个64K内存,有些应用程序和Windows可以使用这段内存。也可以把DOS装入高端内存,通过配置命令DOS=HIGH,即可将MS-DOS操作系统本身的大部分程序移到HMA中,这样就能为其它程序腾出更多的常规内存;4、 扩展内存:扩展内存(XMS)是位于1MB以上的区域,Windows或Windows的应用程序能够使用扩展内存;一些DOS程序借助于HIMEM.SYS也能使用扩展内存;5、 扩充内存:是超过PC机寻址范围外的内存,EMS386.EXE驱动程序除了管理UMB外,还能用扩展内存模拟出扩充内存, 供需要扩充内存的程序使用,通过该程序的仿真处理,用户程序可以象使用物理扩充内存使用仿真扩充内存。 CONFIG.SYS(系统文件)*MENUSUBMENU=64MB, MS6395 V5.0 WITH 64MB MEMORY /*SUBMENU命令用于定义子菜单SUBMENU=blockname,menu_text,blockname指定分配的菜单名字,菜单块必须在CONFIG.SYS文件中定义并且包含菜单定义命令;menu_text指定希望MS-DOS显示的菜单项正文,若没有制定任何菜单正文,则MS-DOS将块名作为菜单项显示,如:如果SUBMENU=64MB,则显示菜单项64MB*/submenu=128MB,MS6395 V5.0 WITH 128MB MEMORYMENUCOLOR=7,1 /*MENUCOLOR命令用于定义菜单正文颜色和屏幕背景;MENUCOLOR=X,Y:其中:X指定菜单正文颜色,Y指定屏幕背景颜色 7代表白色,1代表蓝色*/64MBMENUITEM=C700,CELERON 700MHZ PROCESSOR /*定义启动彩单的菜单项,每个菜单最多只能有9个菜单项;MENUITEM=blockname,menu_text:blockname为指定与菜单对应的配置块名称,此配置块必须在CONFIG.SYS文件中定义,若此菜单项被选中,则MS-DOS执行对应配置块中的命令;menu_text指定要显示的菜单项正文,若不指定此参数,则MS-DOS显示配置块名称。 */MENUITEM=C733,CELERON 733MHZ PROCESSOR128MBMENUITEM=Cc700,CELERON 700MHZ PROCESSORMENUITEM=Cc733,CELERON 733MHZ PROCESSORc700c733cc700cc733AUTOEXEC.BAT(批处理文件):*echo off/*echoon|off: 允许或禁止显示批处理文件中所执行的DOS命令名,当选ON参数时,将其执行的所有命令显示在屏幕上;当选OFF时禁止命令名和REM所提示信息的显示但并不禁止有命令产生的输出; echo message: message指定让MS-DOS在屏幕上显示的正文,不管当前状态为ON/OFF; echo off :关闭echo 而又不回显echo命令本身;c:copy a:test.exe/ytest -y j /*test是用ARJ压缩的可执行文件,运行test y j 恢复为未压缩前的文件*/if exist a:flagsflashed goto next if exist a:parastandard.ini del a:parastandard.inia:goto %config% /*在AUTOEXEC.BAT文件中使用goto %config%命令即可实现在AUTOEXEC.BAT文件中自动转向相应的分支执行相应的批处理命令,例如,经过在CONFIG.SYS选择,最后转到config.sys中的C700(根据CONFIG.SYS选择),则在AUTOEXEC.BAT中就会自动执行:700的命令,此*/:c700 /*在AUTOEXEC.BAT文件中相应的分支处(即对应配置块要转入的位置)加上标点号,标号的名称必须与配置文件中相应的配置块名相同,例如:C700,请转到CONFIG.SYS去查看*/copy a:standardc700.ini a:parastandard.inigoto next:c733copy a:standardc733.ini a:parastandard.inigoto next三:C+:在自动测试中要想实现一个功能,则只是DOS命令是不够的,例如,实现一个FAIL画面,则需要用C+遍写命令,最后生成可执行文件,举例:#include /*包括printf函数*/#include /*头文件,包括下列sound()nosound()delay()函数*/char *fail= , , * * * * , * * * * , * * * * * , * * * * * , * * * * * , * * * * * , * * * * , * * * * , * * * * * , * * * * * , * * * * * , * * * * * , * * * * * , * * * * * , , , ,;void printc(char row,char col,char p);char attp;void main(void)int i,j; attp=0x14; for(i=0;i21;i+) for(j=0;j75;j+) printc(i,j+2,failij);printf(n); printf(n Open Source File Error.); i=0; sound(1300); delay(500); sound(700); delay(500); nosound();/*sound(1300):sound turns on the pcs speaker at a given frequency;sound(1300)是发出1300Hz的声音 nos
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- Scratch少儿编程教学计划总结
- 天然气工程投产试运行流程与方案
- 高三化学专题复习有机反应机理解析
- 销售岗位面试评分标准模板
- 2026上海市宝山区青年储备人才招聘28人笔试考试备考试题及答案解析
- 2025四川眉山丹棱产业投资集团有限公司招聘工作人员18人考试笔试模拟试题及答案解析
- 建筑施工进度计划编制与管理实务
- 工业设计项目提案模板
- 物流配送中心操作流程标准化手册
- 大班社会懒惰虫和勤快人教案(2025-2026学年)
- IPC7711C7721C-2017(CN)电子组件的返工修改和维修(完整版)
- 学堂在线 护理研究方法 期末考试答案
- 2023北京市第一次高中学业水平合格性考试数学试卷真题(含答案详解)
- 第二课美术作品与客观世界(2)课件-高中美术湘美版(2019)美术鉴赏
- 2023年山西金融投资控股集团有限公司招聘笔试题库及答案解析
- HY∕T 0305-2021 养殖大型藻类和双壳贝类碳汇计量方法 碳储量变化法
- DB32-T 4353-2022 房屋建筑和市政基础设施工程档案资料管理规程
- 医院入职登记表
- 水泥厂除尘设计
- 数学-高中数学127个快速解题公式
- Q∕SY 1673-2014 油气管道滑坡灾害监测规范
评论
0/150
提交评论