資源簡介
設計任務:(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個文件信息
評論
共有 條評論