#include <io.h>
#include <iostream>
#include<stdio.h>
#include<string>
#include <direct.h>
using namespace std;
int main()
{
void path();
int filein();
int environment();
printf("%s\n","第一次使用请先输入help获取帮助");
int flag=1;
string s1;
while(flag==1)
{
cin>>s1;
if(s1=="cd")
path();
else if(s1=="dir")
filein();
else if(s1=="environ")
environment();
else if(s1=="echo")
{
printf("%s\n","请输入要输入的内容:");
string s2;
cin>>s2;
cout<<s2<<endl;
}
else if(s1=="help")
{
printf("帮助手册如下:\n");
printf("文件查找请输入:cd +路径(例如 cd E:\\..)\n");
printf("列出目录的内容请输入:dir (例如 dir E:\\..)\n");
printf("列出所有的环境变量请输入:environ\n");
printf("在屏幕上显示<comment>请输入:echo\n");
printf("帮助操作请输入:help\n");
printf("退出请输入:quit\n");
printf("其他输入解释:请输入除以上的任意指令\n");
}
else if(s1=="quit")
flag--;
else
cout<<s1+"不是该系统的内部命令"<<endl;
}
}
void path()
{
printf("请输入更改后的路径:");
string s2;
cin>>s2;
char path[1024];
getcwd(path, 1024 );
const char * ch=s2.c_str();
chdir(ch);
cout<<getcwd(NULL,0)<<endl;
}
int filein()
{ string str;
cout<<"请输入文件路径:"<<endl;
cin>>str;
str=str+"\\*.*";
const char *ch=str.c_str();
_finddata_t file;
int k;
long HANDLE;
k = HANDLE = _findfirst(ch, &file );
if(k==-1)
cout<<"没有找到文件,请检查文件路径"<<endl;
while( k != -1 )
{
cout << file.name << endl;
cout<<file.size<<endl;
k = _findnext( HANDLE, &file );
}
_findclose( HANDLE );
return 0;
}
int environment()
{
extern char ** environ;
char **ep = environ;
while(*ep != NULL)
{
printf("%s\n",*ep);
ep++;
}
cout<< _getcwd(NULL,0)<<endl;
_chdir("D:\\");
cout<< _getcwd(NULL,0)<<endl;
return 0;
}