操作系统cmd

实验一  命令解释程序的编写(两周内)

一、目的和要求

1. 实验目的

(1)掌握命令解释程序的原理;

(2)*掌握简单的DOS调用方法;

(3)掌握C语言编程初步。

2.实验要求

编写类似于DOS,UNIX的命令行解释程序

(1)自行定义系统提示符

(2)自定义命令集(8-10个)

(3)用户输入HELP以查找命令的帮助

(4)列出命令的功能,区分内部还是外部命令

(5)用户输入QUIT退出

(6)内部命令有dir, cd, md, rd, cls, date, time, ren, copy等。

二、实验内容

根据教师指定的实验课题,完成设计、编码、测试工作。

、实验环境

1.PC微机

2.Windows 操作系统

3.C/C++程序开发集成环境

  1 #include<stdio.h>
  2 char cmd[11][11]={"dir","cd","md","rd","cls","date","time","ren","cope","help","quit"};
  3 char str[10];
  4 int i;
  5 main()
  6 {
  7     printf("Microsoft Windows [版本 6.1.7601]\n");
  8     printf("版权所有 <c> 2009 Microsoft Corporation。保留所有权利\n\n");
  9     while(1){
 10     printf("C:\Users\Administrator>");
 11     gets(str);
 12     for(i=0;i<11;i++)
 13     {
 14         if(strcmp(str,cmd[0])==0)
 15         {
 16             printf("'dir'内部命令输入正确!\n");
 17             printf("该命令作用是:显示一个目录中的文件和子目录。\n\n\n");
 18             break;
 19         }
 20         if(strcmp(str,cmd[1])==0)
 21         {
 22             printf("'cd'内部命令输入正确!\n");
 23             printf("该命令作用是:显示当前目录的名称或将其更改。\n\n\n");
 24 
 25             break;
 26         }
 27         if(strcmp(str,cmd[2])==0)
 28         {
 29             printf("'md'内部命令输入正确!\n");
 30             printf("该命令作用是:创建一个目录。\n\n\n");
 31 
 32             break;
 33         }
 34         if(strcmp(str,cmd[3])==0)
 35         {
 36             printf("'rd'内部命令输入正确!\n");
 37             printf("该命令作用是:删除目录。\n\n\n");
 38 
 39             break;
 40         }
 41         if(strcmp(str,cmd[4])==0)
 42         {
 43             printf("'cls'内部命令输入正确!\n");
 44             printf("该命令作用是:清除屏幕。\n\n\n");
 45 
 46             break;
 47         }
 48         if(strcmp(str,cmd[5])==0)
 49         {
 50             printf("'date'内部命令输入正确!\n");
 51             printf("该命令作用是:显示或设置日期。\n\n\n");
 52 
 53             break;
 54         }
 55         if(strcmp(str,cmd[6])==0)
 56         {
 57             printf("'time'内部命令输入正确!\n");
 58             printf("该命令作用是:内部命令显示或设置系统时间。\n\n\n");
 59 
 60             break;
 61         }
 62         if(strcmp(str,cmd[7])==0)
 63         {
 64             printf("'ren'内部命令输入正确!\n");
 65             printf("该命令作用是:重新命名文件。\n\n\n");
 66 
 67             break;
 68         }
 69         if(strcmp(str,cmd[8])==0)
 70         {
 71             printf("'cope'内部命令输入正确!\n");
 72             printf("该命令作用是:将至少一个文件复制到另一个位置。\n\n\n");
 73             return 0;
 74             break;
 75         }
 76         if(strcmp(str,cmd[9])==0)
 77         {
 78             printf("类型:外部命令\n");
 79                     printf("有关某个命令的详细信息,请键入 HELP 命令名\n");
 80                     printf("dir\t内部命令 显示一个目录中的文件和子目录。\n"); 
 81                     printf("cd\t内部命令 显示当前目录的名称或将其更改。\n");
 82                     printf("md\t内部命令 创建一个目录。\n");
 83                     printf("rd\t内部命令 删除目录。.\n");
 84                     printf("cls\t内部命令 清除屏幕。\n");
 85                     printf("date\t内部命令 显示或设置日期。\n");
 86                     printf("time\t内部命令 内部命令显示或设置系统时间。\n");
 87                     printf("ren\t内部命令 重新命名文件。\n");
 88                     printf("cope\t内部命令 将至少一个文件复制到另一个位置。\n");
 89                     printf("help\t外部命令 提供Windows命令的帮助信息。\n");
 90                     printf("quit\t外部命令 退出命令解释程序。\n\n\n");
 91                      break;
 92         }
 93         if(strcmp(str,cmd[10])==0)
 94         {
 95             printf("'quit'外部命令输入正确!\n");
 96             printf("该命令作用是:退出命令解释程序。\n\n\n");
 97             exit(1);
 98             break;
 99         }
100         if(strcmp(str,cmd[i])!=0)
101         {
102             printf("此命令不是内部或外部命令,也不是可运行的程序或批处理文件。\n\n\n");
103             break;
104         }
105     }
106     }
107 }

 

posted @ 2016-03-24 13:42  32朱杰  阅读(324)  评论(0编辑  收藏  举报