- 1、本文档共16页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
计算机病毒报实验报告
一.题目: Windows 命令接口之文件与目录命令
二.设计任务,要求,目的:
1.设计任务:
(1) 为Windows操作系统建立兼容的DOS命令接口,文件与目录命令
(2) 具体命令:DIR,RD,CD,MD,DEL,MOVE,REN,XCOPY,命令格式可参考Windows的CMD.EXE或MS-DOS提供的命令格式
设计命令的名称,参数等格式
可以字符形式接受命令,执行命令,然后显示命令执行结果
操作系统接口:Windows命令接口。(3人) 4分
为Windows操作系统建立兼容的DOS命令接口,文件与目录命令;
具体命令:DIR, RD,CD,MD, DEL,MOVE,REN, COPY, XCOPY, CLS, DATE,TIME, SORT,TYPE ,重定向命令,.,|,MORE,命令格式可参照Windows的CMD.EXE或MS-DOS提供的命令;
设计命令的名称、参数等格式。
可以字符形式接收命令,执行命令,然后显示命令执行结果;
2.设计要求及目的:
(1)能够正确显示一个目录里面的子目录和文件dir
(2)能够删除一个空目录rd
(3)能够打开一个存在的目录cd
(4)能够建立一个空目录md
(5)能够删除一个文件del
(6)能够移动一个目录或文件move
(7)能够重命名一个目录或文件ren
(8)能够拷贝整个目录copy(内部,不能复制文件夹下的文件)
(9)能够拷贝整个目录xcopy(外部,不能连接文件)
三:开发环境:
PC机一台 386以上
VC++6.0
实现语言:C
四:原理及算法描述:
1.基本原理:
用户利用联机命令接口实现与机器的交互时,先在终端的键盘上打入所需的命令,由终端处理程序接受该命令,并将它显示在终端屏幕上。当一条命令输入完后,由命令解释程序对命令进行分析,然后执行相应命令的处理程序。
2.算法描述:
(1)存贮输入的各命令参数
void store_parameter(char *buffer,char *parameter[10],int *para_num)
说明:将输入的命令一条一条存储parameter[10]中,最大允许的参数个数为10个。
算法描述:为buffer设置一个指针buffer_point,如果该指针向下移动,碰到空格,继续向下移动,直到遇到字符,读进各存储变量中parameter[10],最后如果遇到’\0’,则结束。
(2)浏览一个路径下的目录和文件
void my_dir(char *a[],int *num)
说明:该命令只能显示当前目录中的文件和子目录和当前目录中子目录中的文件和子目录。并无如Windows中命令参数如此丰富。主要是考虑其复杂性,予以简化了。
算法描述:如果只接受到mydir命令,后面并无其他参数时,显示当前目录下文件和子目录。如果接受到两个参数,如果第二个参数(表示当前目录中子目录)存在,则显示该目录下文件和子目录,如果不存在,则报错。
(3)删除一个存在的目录,如果不存在,删除失败!
void my_rd(char *a[],int *num)
算法描述:如果该目录存在且为空目录,则删除,否则失败。
(4)打开一个存在的目录,如果不存在,打开失败!
void my_cd(char *a[],int *num)
算法描述:如果接受到两个参数,第二个参数表示要打开的目录。如果该目录存在,则成功,否则失败。
(5)创建一个目录
void my_md(char *a[],int *num)
算法描述:如果接受到两个参数,第二个参数表示要建立的目录。如果存在该目录,失败,否则成功。
(6)删除一个存在的文件,如果不存在,删除文件失败!
void my_del(char *a[],int *num)
算法描述:如果接受到两个参数,第二个参数表示要删除的文件。如果该文件存在,则删除成功,否则失败。
(7)移动一个存在的文件,否则,移动失败
void my_move(char *a[],int *num)
算法描述:如果接受到三个参数,其中第二个参数表示存在的文件或目录,第三个参数表示将要移动到的参数。如果第二个参数不存在,则失败,存在,成功。
(8)重命名一个已经存在的文件,否则,重命名失败!
void my_ren(char *a[],int *num)
算法描述:如果接受到三个参数,其中第二个参数表示将要重命名的目录或文件,第三个参数表示将要重命名的新的名字。
(9)拷贝文件
void my_xcopy(char *a[],int *num)
算法描述:如果接受到三个参数,其中第二个参数表示存在的目录或文件,第三个表示将要拷贝成的目录或文件。
文档评论(0)