实验一 命令解释程序的编写

一、目的和要求

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等。

主要代码:

#include<stdio.h>
#include<string.h>
char *cmd[]={"dir","cd","md","rd","cls","date","time","ren","copy","help","quit"};


void main()
{
    char str[10];
        printf("Microsoft Windows [版本 6.1.7601]
");
    printf("版权所有 (c) 2009 Microsoft Corporation。保留所有权利

");    
    while(1)
    {
         printf("C:/Users/Administrator>");
        scanf("%s",str);
       
    if(strcmp(str,cmd[0])==0)
                printf("dir  显示一个目录的文件和子目录
");    
    else if(strcmp(str,cmd[1])==0)
                printf("cd   显示当前目录的名称或将其更改
");
    else if(strcmp(str,cmd[2])==0)
                printf("md   创建一个目录
");
    else if(strcmp(str,cmd[3])==0)
                printf("rd   删除目录
");
    else if(strcmp(str,cmd[4])==0)
                printf("cls  清除屏幕
");
    else if(strcmp(str,cmd[5])==0)
                printf("date  显示或设置日期
");
    else if(strcmp(str,cmd[6])==0)
                printf("time  内部命令显示或设置系统时间
");
    else if(strcmp(str,cmd[7])==0)
                printf("ren  重新命名文件
");
    else if(strcmp(str,cmd[8])==0)
                printf("cope  将至少一个文件复制到另一个位置
");
    else if(strcmp(str,cmd[9])==0)
    {
        printf("有关某个命令的详细信息,请键入 HELP 命令名
");
        printf("dir  显示一个目录的文件和子目录
");
        printf("cd   显示当前目录的名称或将其更改
");
        printf("md   创建目录
");
        printf("rd   删除目录
");
        printf("cls  清除屏幕
");
        printf("date  显示或设置日期
");
        printf("time  显示或设置系统时间
");
        printf("ren  重命名文件
");
        printf("cope  将至少一个文件复制到另一个位置
");
        printf("help  提供Window命令的帮助信息
");
        printf("quit  退出命令解释程序
");
        printf("有关某个工具的详细信息,请参阅联机帮助中的命令行参考

");
    }
    else if(strcmp(str,cmd[10])==0)
        exit(0);
    else
    {    
        printf("'%s'不是内部或外部命令,也不是可运行的程序
",str);
        printf("或批处理文件。
");
    }
    }

}
原文地址:https://www.cnblogs.com/chenzezhan/p/5319533.html