资源简介
设计任务:(1) 为Windows操作系统建立兼容的DOS命令接口,文件与目录命令(2) 具体命令:DIR,RD,CD,MD,DEL,MOVE,REN,XCOPY,命令格式可参考Windows的CMD.EXE或MS-DOS提供的命令格式(3) 设计命令的名称,参数等格式(4) 可以字符形式接受命令,执行命令,然后显示命令执行结果开发环境:1. PC机一台 386以上2. VC++6.03. 实现语言:C用户利用联机命令接口实现与机器的交互时,先在终端的键盘上打入所需的命令,由终端处理程序接受该命令,并将它显示在终端屏幕上。当一条命令输入完后,由命令解释程序对命令进行分析,然后执行相应命令的处理程序。

代码片段和文件信息
#include
#include
#include
#include
//****************************************************************************************
//存贮输入的各命令参数
void store_parameter(char *bufferchar *parameter[10]int *para_num)
{
char *buffer_point = buffer;
for((*para_num) = 0; *buffer_point != ‘\0‘ && (*para_num) < 10; (*para_num)++)
{
parameter[(*para_num)] = (char*)malloc(64*sizeof(char));
int j = 0;
//如果为空格,指针继续移进
while(*buffer_point == ‘ ‘)
{
buffer_point++;
}
//如果不是空格,读进变量存储区
while(*buffer_point != ‘ ‘ && *buffer_point != ‘\0‘)
{
*(parameter[(*para_num)]+j) = *buffer_point;
buffer_point++;
j++;
}
*(parameter[(*para_num)]+j) = ‘\0‘;
}
}
//*************************************************************************************
//浏览一个路径下的目录和文件
void my_dir(char *a[]int *num)
{
//浏览当前目录文件
if( (*num) == 1)
{
HANDLE obj_handle;
char *lpFileName = (char*)malloc(64*sizeof(char));
WIN32_FIND_DATA* find_file = new WIN32_FIND_DATA();
FILETIME lpCreationTimelpLastAccessTimelpLastWriteTime;//创建时间,最近访问时间,最近修改时间
SYSTEMTIME systime;//定义系统时间
//获取当前目录
GetCurrentDirectory(64lpFileName);
strcat(lpFileName“\\*.*“);
obj_handle = FindFirstFile(lpFileNamefind_file);//obj_handle初始化
if(FindFirstFile(lpFileName find_file) != INVALID_HANDLE_VALUE)
{
while (FindNextFile(obj_handle find_file))
{
HANDLE obj_dir = CreateFile(find_file->cFileNameGENERIC_READFILE_SHARE_READ | FILE_SHARE_DELETE \
|FILE_SHARE_WRITENULLOPEN_EXISTINGFILE_FLAG_BACKUP_SEMANTICS NULL);
if(GetFileTime(obj_dir&lpCreationTime&lpLastAccessTime&lpLastWriteTime))
{
FILETIME temp_time;
FileTimeToLocalFileTime(&lpLastWriteTime &temp_time); // 转换成本地时间
FileTimeToSystemTime(&temp_time &systime); // 转换成系统时间格式
}
printf(“%d/%d/%d “systime.wYearsystime.wMonthsystime.wDay);//年月日
printf(“%d:%d:%d “systime.wHoursystime.wMinutesystime.wSecond);//时分秒
printf(“%s\n“find_file->cFileName);//
//printf(“%d “find_file->dwFileAttributes);
CloseHandle(obj_dir);
}
}
FindClose(obj_handle);
}
//浏览其中目录文件
else if((*num) == 2)
{
HANDLE obj_handle;
char *lpFileName = (char*)malloc(64*sizeof(char));
char *next_dir = (char*)malloc(64*sizeof(char));
WIN32_FIND_DATA* find_file = new WIN32_FIND_DATA();
FILETIME lpCreationTimelpLastAccessTimelpLastWriteTime;//创建时间,最近访问时间,最近修改时间
SYSTEMTIME systime;//定义系统时间
WIN32_FIND_DATA* fd = new WIN32_FIND_DATA();
GetCurrentDirectory(64lpFileName);
//打开其中的某一个目录
if(!SetCurrentDirectory(a[1]))
printf(“浏览目录失败可能没有此目录!\n“);
else
{
GetCurrentDirectory(64next_dir);
strcat(next_dir“\\*.*“);
}
obj_handle = FindFirstFile(next_dir fd);//obj_handle初始化
if(FindFirstFile(next_dir find_file) != INVALID_HANDLE_VALUE)
{
while (FindNex
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 27648 2007-06-28 12:20 操作系统课程设计\operating_system\API_fuction\FILETIME.doc
文件 30208 2007-06-28 12:33 操作系统课程设计\operating_system\API_fuction\GetFileTime.doc
文件 31744 2007-06-28 12:05 操作系统课程设计\operating_system\API_fuction\SYSTEMTIME.doc
文件 43008 2007-06-28 12:04 操作系统课程设计\operating_system\API_fuction\WIN32_FIND_DATA.doc
文件 1095 2007-06-28 12:00 操作系统课程设计\operating_system\API_fuction\说明.txt
文件 53760 2007-06-28 12:32 操作系统课程设计\operating_system\CreateFile.doc
文件 36183 2007-06-28 13:56 操作系统课程设计\operating_system\Debug\file_operating.obj
文件 0 2007-06-28 13:57 操作系统课程设计\operating_system\Debug\file_operating.sbr
文件 1926144 2007-06-28 13:57 操作系统课程设计\operating_system\Debug\operating_system.bsc
文件 184320 2007-06-28 13:56 操作系统课程设计\operating_system\Debug\operating_system.exe
文件 204164 2007-06-28 13:56 操作系统课程设计\operating_system\Debug\operating_system.ilk
文件 4483128 2007-06-28 13:56 操作系统课程设计\operating_system\Debug\operating_system.pch
文件 1090560 2007-06-28 13:56 操作系统课程设计\operating_system\Debug\operating_system.pdb
文件 197632 2007-06-28 13:56 操作系统课程设计\operating_system\Debug\vc60.idb
文件 143360 2007-06-28 13:56 操作系统课程设计\operating_system\Debug\vc60.pdb
文件 10119 2007-06-28 13:38 操作系统课程设计\operating_system\file_operating.cpp
文件 24064 2007-06-28 13:42 操作系统课程设计\operating_system\one.doc
文件 4406 2007-06-27 22:41 操作系统课程设计\operating_system\operating_system.dsp
文件 538 2007-06-27 21:01 操作系统课程设计\operating_system\operating_system.dsw
文件 50176 2007-06-28 13:57 操作系统课程设计\operating_system\operating_system.ncb
文件 55808 2007-06-28 13:56 操作系统课程设计\operating_system\operating_system.opt
文件 0 2007-06-28 13:56 操作系统课程设计\operating_system\operating_system.plg
文件 24064 2007-06-28 13:42 操作系统课程设计\operating_system\three.doc
文件 0 2007-06-28 09:26 操作系统课程设计\operating_system\two.doc
文件 10752 2007-06-27 20:44 操作系统课程设计\operating_system\YOU\1.doc
文件 0 2007-06-27 20:44 操作系统课程设计\operating_system\YOU\1.txt
文件 0 2007-06-27 20:44 操作系统课程设计\operating_system\YOU\2.txt
文件 0 2007-06-27 20:44 操作系统课程设计\operating_system\YOU\3.txt
文件 10752 2007-06-27 20:44 操作系统课程设计\operating_system\YOU2\1.doc
文件 0 2007-06-27 20:44 操作系统课程设计\operating_system\YOU2\1.txt
............此处省略19个文件信息
相关资源
- 操作系统c语言模拟文件管理系统844
- VC++ 多线程文件读写操作
- 移木块游戏,可以自编自玩,vc6.0编写
- 操作系统课设 读写者问题 c语言实现
- MFC数字钟(基于VC6.0)
- 安科瑞智能电能表MODBUS通讯程序 VC6
- VC++MFC小游戏实例教程(实例)+MFC类库
- VC6LineNumberAddin.dll
- 用VC6.0实现多边形扫描线填充算法
- VC++实现CMD命令执行与获得返回信息
- VC助手 VC6.0助手
- ROS操作系统入门讲义
- VC++基于OpenGL模拟的一个3维空间模型
- 基于VC++的SolidWorks二次开发SolidWorks
- VC6 USB开发源码
- VC操作SQLSERVER数据库
- aes加解密(vc源程序)
- vc_串口通讯
- 吕鑫vc6c++数据结构视频源码
- 派克变换VC++源码(附文档)
- 基于opencv漫水填充算法综合
- VC++ 串口
- VC++ 大富翁4_大富翁游戏源码
- MFC的异步网络通讯应用程序
- VC++ 摄像头视频采集与回放源程序
- 转 VC++ 实现电子邮件(Email)发送
- 基于MFC的VC++仿QQ浏览器源码(雏形)
- VC++ 服务程序编写及安装与卸载
- VC++6.0番茄西红柿VAXvirsual assist X完美破
- VC编程助手2010破解版(原名VA_X_10.6.
评论
共有 条评论