Ejemplo n.º 1
0
        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);
        }