static void Main(string[] args) { ExternalProgram ext = new ExternalProgram(); Execute exe = new Execute(); exe.exeall(); //循环执行 while (true) { Console.ForegroundColor = ConsoleColor.Green; if (exe.sys_current_user != null) { Console.Write(exe.sys_current_user.uid + "@" + exe.GetiNode(exe.sys_current_user.current_folder).name + ">"); } Console.ForegroundColor = ConsoleColor.Yellow; string command = Console.ReadLine(); Console.ForegroundColor = ConsoleColor.White; string[] com_part = command.Split(' '); int regorder = 9999; for (int i = 0; i < ext.regstr.Length; i++) { if (Regex.IsMatch(command, ext.regstr[i])) { regorder = i; Console.WriteLine("Command ID:" + i); } } switch (regorder) { case 0: { Console.WriteLine("There is help now."); System.Diagnostics.Process.Start("notepad.exe", "help.txt"); break; } case 1: { for (int i = 0; i < ext.regstr.Length; i++) { if (ext.regstr[i].Contains(com_part[0])) { Console.WriteLine(ext.regstr[i]); } } break; } case 2: { exe.ShowDirectory(); break; } case 3: { exe.ShowDirectory(com_part[1], "type", true); break; } case 4: { exe.ShowDirectory(".", com_part[2], true); break; } case 5: { exe.ShowDirectory(com_part[3], com_part[2], true); break; } case 6: { exe.ShowDirectory(".", "type", false); break; } case 7: { exe.ShowDirectory(com_part[1], "type", false); break; } case 8: { exe.ShowDirectory(".", com_part[2], false); break; } case 9: { exe.ShowDirectory(com_part[3], com_part[2], false); break; } case 10: { exe.Create(FileSysTemp.FSBase.ItemType.FILE, com_part[1]); break; } case 11: { exe.Create(FileSysTemp.FSBase.ItemType.FOLDER, com_part[2]); break; } case 12: { exe.ShowDetail(com_part[1], false); break; } case 13: { exe.ShowDetail(com_part[2], true); break; } case 14: { Console.WriteLine(exe.ReadFile(com_part[1])); break; } case 15: { Console.WriteLine(exe.ComparedThem(com_part[1], com_part[2], false)); break; } case 16: { Console.WriteLine(exe.ComparedThem(com_part[1], com_part[2], true)); break; } case 17: { exe.WriteFile(com_part[1]); break; } case 18: { iNodeTable itab = new iNodeTable(); itab.di_table = exe.SearchFromSpecificFolder("", com_part[1]); exe.ShowiNodeList(itab, "type"); break; } case 19: { iNodeTable itab = new iNodeTable(); itab.di_table = exe.SearchFromSpecificFolder(com_part[2], com_part[1]); exe.ShowiNodeList(itab, "type"); break; } case 20: { iNodeTable itab = new iNodeTable(); itab.di_table = exe.SearchInAllDisk(com_part[2]); exe.ShowiNodeList(itab, "type"); break; } case 21: { break; } case 22: { break; } case 23: { break; } case 24: { break; } case 25: { break; } case 26: { break; } case 27: { break; } case 28: { break; } case 29: { break; } case 30: { exe.CreateIndexForSearch(com_part[1]); break; } case 31: { exe.ExeSql(); break; } case 32: { exe.Move(com_part[1], com_part[2]); break; } case 33: { break; } case 34: { exe.MoveToRecycleBin(com_part[1]); break; } case 35: { break; } case 36: { exe.DeleteFile(com_part[2]); break; } case 37: { break; } case 38: { exe.CopyFile(com_part[1], com_part[2]); break; } case 39: { break; } case 40: { exe.RestoreFromRecycleBin(com_part[1]); break; } case 41: { break; } case 42: { exe.ClearRecycleBin(); break; } case 43: { exe.ShowRecycleBin(); break; } case 44: { exe.Rename(com_part[1], com_part[3], exe.GetiNodeByPath(com_part[1]).First().type); break; } case 45: { exe.AssignAuthority(com_part[2], Convert.ToUInt32(com_part[3]), Convert.ToUInt32(com_part[4])); break; } case 46: { exe.LoginSys(); break; } case 47: { exe.LogoutSys(); break; } case 48: { exe.RevisePassword(); break; } case 49: { break; } case 50: { break; } case 51: { exe.ChangeCurrentDirectory(com_part[1]); break; } case 52: { exe.MoveToRecycleBin(com_part[2]); break; } case 53: { exe.DeleteFolder(com_part[3]); break; } case 54: { exe.CopyFolder(com_part[2], com_part[3]); break; } case 55: { exe.RecycleAuthority(com_part[2], Convert.ToUInt32(com_part[3]), Convert.ToUInt32(com_part[4])); break; } default: { Console.WriteLine("Error, Enter \"help\" or \"xxx -h\" to get help."); break; } } } //Execute2 exe2 = new Execute2(); //exe2.exeall(); //exe.Install(); //exe.Start(); //exe.Creat(1, "new1.cpp"); //Console.WriteLine(exe.sys_inode_tt.tt[0].di_table[0].name); }