操作系统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++程序开发集成环境
#include<stdio.h>
char cmd[][]={"dir","cd","md","rd","cls","date","time","ren","cope","help","quit"};
char str[];
int i;
main()
{
printf("Microsoft Windows [版本 6.1.7601]\n");
printf("版权所有 <c> 2009 Microsoft Corporation。保留所有权利\n\n");
while(){
printf("C:\Users\Administrator>");
gets(str);
for(i=;i<;i++)
{
if(strcmp(str,cmd[])==)
{
printf("'dir'内部命令输入正确!\n");
printf("该命令作用是:显示一个目录中的文件和子目录。\n\n\n");
break;
}
if(strcmp(str,cmd[])==)
{
printf("'cd'内部命令输入正确!\n");
printf("该命令作用是:显示当前目录的名称或将其更改。\n\n\n"); break;
}
if(strcmp(str,cmd[])==)
{
printf("'md'内部命令输入正确!\n");
printf("该命令作用是:创建一个目录。\n\n\n"); break;
}
if(strcmp(str,cmd[])==)
{
printf("'rd'内部命令输入正确!\n");
printf("该命令作用是:删除目录。\n\n\n"); break;
}
if(strcmp(str,cmd[])==)
{
printf("'cls'内部命令输入正确!\n");
printf("该命令作用是:清除屏幕。\n\n\n"); break;
}
if(strcmp(str,cmd[])==)
{
printf("'date'内部命令输入正确!\n");
printf("该命令作用是:显示或设置日期。\n\n\n"); break;
}
if(strcmp(str,cmd[])==)
{
printf("'time'内部命令输入正确!\n");
printf("该命令作用是:内部命令显示或设置系统时间。\n\n\n"); break;
}
if(strcmp(str,cmd[])==)
{
printf("'ren'内部命令输入正确!\n");
printf("该命令作用是:重新命名文件。\n\n\n"); break;
}
if(strcmp(str,cmd[])==)
{
printf("'cope'内部命令输入正确!\n");
printf("该命令作用是:将至少一个文件复制到另一个位置。\n\n\n");
return ;
break;
}
if(strcmp(str,cmd[])==)
{
printf("类型:外部命令\n");
printf("有关某个命令的详细信息,请键入 HELP 命令名\n");
printf("dir\t内部命令 显示一个目录中的文件和子目录。\n");
printf("cd\t内部命令 显示当前目录的名称或将其更改。\n");
printf("md\t内部命令 创建一个目录。\n");
printf("rd\t内部命令 删除目录。.\n");
printf("cls\t内部命令 清除屏幕。\n");
printf("date\t内部命令 显示或设置日期。\n");
printf("time\t内部命令 内部命令显示或设置系统时间。\n");
printf("ren\t内部命令 重新命名文件。\n");
printf("cope\t内部命令 将至少一个文件复制到另一个位置。\n");
printf("help\t外部命令 提供Windows命令的帮助信息。\n");
printf("quit\t外部命令 退出命令解释程序。\n\n\n");
break;
}
if(strcmp(str,cmd[])==)
{
printf("'quit'外部命令输入正确!\n");
printf("该命令作用是:退出命令解释程序。\n\n\n");
exit();
break;
}
if(strcmp(str,cmd[i])!=)
{
printf("此命令不是内部或外部命令,也不是可运行的程序或批处理文件。\n\n\n");
break;
}
}
}
}
操作系统cmd的更多相关文章
- 操作系统cmd算法
实验一 命令解释程序的编写(两周内) 一.目的和要求 1. 实验目的 (1)掌握命令解释程序的原理: (2)*掌握简单的DOS调用方法: (3)掌握C语言编程初步. 2.实验要求 编写类似于DOS, ...
- 磁盘操作系统 cmd命令
DOS CMD :磁盘操作系统 不区分大小写 **cd \ 根目录 cls 清空屏幕 dir 显示目录 d: 进入D盘 cd 进入目录命令 dir 查看当前目录的文件与目录 del 删除文件 del ...
- Grails笔记一:windows8.1操作系统cmd下grails命令无效
最近决定使用intellij idea工具来开发基于Grails框架的应用程序,,在安装好jdk 1.7以及配置好jdk和grails环境变量后进行grails测试,在win8.1的命令行窗口中输入以 ...
- 0324操作系统cmd功能的扩展
需求:1.实现清屏功能 2.实现不区分大小写功能 3.添加功能能添加新的命令符 设计:1.使用system("cls")清屏. 2.使用strlwr()函数把大写都变成小写 3.( ...
- 操作系统 cmd mini OS
#include <stdio.h>#include <stdlib.h>#include <string.h> void word(char *a){ if(st ...
- 设计模式(六):控制台中的“命令模式”(Command Pattern)
今天的博客中就来系统的整理一下“命令模式”.说到命令模式,我就想起了控制台(Console)中的命令.无论是Windows操作系统(cmd.exe)还是Linux操作系统(命令行式shell(Comm ...
- (转)使用SQLCMD在SQLServer执行多个脚本
概述: 作为DBA,经常要用开发人员提供的SQL脚本来更新正式数据库,但是一个比较合理的开发流程,当提交脚本给DBA执行的时候,可能已经有几百个sql文件,并且有执行顺序,如我现在工作的公司,十几个客 ...
- 使用SQLCMD在SQLServer执行多个脚本
原文:使用SQLCMD在SQLServer执行多个脚本 概述: 作为DBA,经常要用开发人员提供的SQL脚本来更新正式数据库,但是一个比较合理的开发流程,当提交脚本给DBA执行的时候,可能已经有几百个 ...
- 使用SQLCMD在SQLServer执行多个脚本 转载
出处不明 概述: 作为DBA,经常要用开发人员提供的SQL脚本来更新正式数据库,但是一个比较合理的开发流程,当提交脚本给DBA执行的时候,可能已经有几百个sql文件,并且有执行顺序,如我现在工作的公司 ...
随机推荐
- 20155212 mybash的实现
mybash的实现 题目 使用fork,exec,wait实现mybash 写出伪代码,产品代码和测试代码 发表知识理解,实现过程和问题解决的博客(包含代码托管链接) 准备 通过man命令了解fork ...
- 20155215 2016-2017-2 《Java程序设计》第4周学习总结
20155215 2016-2017-2 <Java程序设计>第X周学习总结 教材学习内容总结 第六章 继承,避免多个类间重复定义共同行为.子类继承父类,再扩充(extends)其他行为. ...
- 2.Rest Server提供数据库的Json字符串
Delphi最大的特点是数据库操作便捷.为了能够给App提供数据,这里采用Rest Server后台,然后在用Json文件发送到APP前台. 1.后台的dataset转换为json. 这里百度后就可以 ...
- centos7下mysql 开启远程登录
安装mysql 安装mysql就不做过多的介绍了,相信小伙伴们都可以很轻松的安装 进入mysql命令行 mysql -u用户名 -p密码 新建远程登录的用户 grant all on *.* to a ...
- 那些不能遗忘的知识点回顾——C/C++系列(笔试面试高频题)
有那么一些零碎的小知识点,偶尔很迷惑,偶尔被忽略,偶然却发现它们很重要,这段时间正好在温习这些,就整理在这里,一起学习一起提高!后面还会继续补充. ——前言 1.面向对象的特性 封装.继承.多态. 封 ...
- 【MYSQL权限】数据库权限部署
背景:没有划分数据库权限,所有人共用一个账号 本人公司现有的数据库账号分布情况: 所有人用一个账号(包括程序里面访问数据库的的配置文件里面的账号),该账号除删库权限,其他权限大部分都有. 这样非数据库 ...
- java阻塞队列之LinkedBlockingQueue
LinkedBlockingQueue是BlockingQueue中的其中一个,其实现方式为单向链表,下面看其具体实现.(均为JDK8) 一.构造函数 在LinkedBlockingQueue中有三个 ...
- activeX 开发
转自 (http://www.cnblogs.com/chinadhf/archive/2010/09/03/1817336.html),并且在开发过程中遇到的问题进行了补充说明,让新手少走弯路 本文 ...
- Linux查看文件内容
查看文件内容的命令: cat:连接文件并且打印在标准输出 tac:连接并且倒序打印文件 more:屏幕文件熟读过滤器 less head:输出文件的第一部分 tail:输出文件最后的部分 nl:输出文 ...
- Ztree结合jbox实现弹窗树结构
点击添加分类,弹出事项选择框为jbox <a href="#" id="down{{row.id}}" style="display:none& ...