Exemplo n.º 1
0
 public void SetUp()
 {
     current = new Directory("c:", true);
     current.chmod(7);
     current.mkdir("Dossier1");
     current.mkdir("Dossier2");
     current.createNewFile("Fichier");
     Newfile = current.cd("NewFile");
     Dossier1 = (Directory)current.cd("Dossier1");
     Dossier2 = (Directory)current.cd("Dossier2");
     Fichier = (File)current.cd("Fichier");
 }
Exemplo n.º 2
0
 public Directory(string name, Directory parent)
     : base(name, parent)
 {
 }
Exemplo n.º 3
0
 public File(string name, Directory parent)
 {
     this.Name = name;
     this.Parent = parent;
 }
Exemplo n.º 4
0
        public bool mkdir(string nom)
        {
            if (base.canWrite())
            {
                if (contenu.Count == 0)
                {
                    Directory newDirectory = new Directory(nom, this);
                    contenu.Add(newDirectory);
                    return true;
                }
                else
                {
                    foreach (File load in contenu)
                    {
                        if (load.Name != nom)
                        {
                            Directory newDirectory = new Directory(nom, this);
                            contenu.Add(newDirectory);
                            return true;
                        }
                        else
                        {
                            Console.WriteLine("Le dossier existe déjà");
                            return false;
                        }
                    }
                    return true;
                }

            }
            else
            {
                return false;
            }
        }
Exemplo n.º 5
0
        static void Main(string[] args)
        {
            string command;
            File courants = new Directory("c:", true);

            do
            {
                Console.ForegroundColor = ConsoleColor.Green;
                Console.Write("[" + courants.Name + "] # ");
                Console.ResetColor();
                string saisie = Console.ReadLine();
                command = getCommand(saisie);
                string argument = getArgument(saisie);
                string argument2 = getArgument2(saisie);

                try
                {
                    Directory courant = (Directory)courants;

                    if (command == "create" && saisie != null)
                    {
                        bool check = courant.createNewFile(argument);
                        if (check)
                        {
                            Console.WriteLine("Le fichier a été créé");
                        }
                        else if (courant.getPermission() == 1 || courant.getPermission() == 4)
                        {
                            Console.WriteLine("Vous n'avez pas les droits nécessaires");
                        }
                    }

                    else if (command == "mkdir" && saisie != null && argument != null)
                    {
                        bool check = courant.mkdir(argument);
                        if (check)
                        {
                            Console.WriteLine("Dossier " + argument + " créé");
                        }
                        else if (courant.getPermission() == 1 || courant.getPermission() == 4)
                        {
                            Console.WriteLine("Vous n'avez pas les droits nécessaires");
                        }
                    }

                    if (command == "ls" && saisie != null)
                    {
                        string type;
                        if (courant.canRead())
                        {
                            List<File> list = courant.ls();

                            if (list.Count == 0)
                            {
                                Console.WriteLine("Le dossier est vide");
                            }
                            else
                            {
                                foreach (File load in list)
                                {
                                    if (load.isFile())
                                    {
                                        type = "f";
                                    }
                                    else
                                    {
                                        type = "d";
                                    }
                                    Console.WriteLine(load.getPermission() + " " + load.Name + " (" + type + ")");
                                }
                            }
                        }
                        else
                        {
                            Console.WriteLine("Vous n'avez pas les droits nécessaires");
                        }
                    }

                    else if (command == "cd" && saisie != null && argument != null)
                    {
                        File next = courant.cd(argument);

                        if (next == null)
                        {
                            Console.WriteLine("Impossible de se déplacer");
                        }

                        else
                        {
                            courants = next;
                        }
                    }

                    else if (command == "remove" && saisie != null && argument != null)
                    {
                        bool check = courant.delete(argument);

                        if (check)
                        {
                            Console.WriteLine("Fichier supprimé");
                        }
                        else
                        {
                            Console.WriteLine("Impossible de supprimer le fichier");
                        }
                    }

                    if (command == "rename" && saisie != null && argument != null && argument2 != null)
                    {
                        File renome = courant.cd(argument);
                        bool check = renome.renameTo(argument2);

                        if (check)
                        {
                            Console.WriteLine("Le dossier/fichier a été renommé");
                        }
                        else
                        {
                            Console.WriteLine("Le dossier/fichier n'a pas été renommé");
                        }
                    }

                    if (command == "search" && saisie != null && argument != null)
                    {
                        List<File> resultat = courant.search(argument);

                        foreach(File encours in resultat)
                        {
                            Console.WriteLine(encours.getPath());
                        }
                    }

                }

                catch
                {
                    if (command == "ls" && saisie != null)
                    {
                        Console.WriteLine("Vous êtes dans un fichier");
                    }
                }

                if (command == "") { }

                if (command == "parent")
                {
                    courants = courants.getParent();
                }

                if (command == "path")
                {
                    string path = courants.getPath();
                    Console.WriteLine(path);
                }

                if (command == "file")
                {
                    if (courants.isFile())
                    {
                        Console.WriteLine("C'est un fichier");
                    }
                    else
                    {
                        Console.WriteLine("Ce n'est pas un fichier");
                    }
                }

                if (command == "directory")
                {
                    if (courants.isDirectory())
                    {
                        Console.WriteLine("C'est un dossier");
                    }
                    else
                    {
                        Console.WriteLine("Ce n'est pas un dossier");
                    }
                }

                if (command == "root")
                {
                    File root = courants.getRoot();

                    Console.WriteLine(root.Name);
                }

                if (command == "chmod" && saisie != null)
                {
                    try
                    {
                        courants.chmod(int.Parse(argument));
                    }
                    catch
                    {
                        Console.WriteLine("Chmod est incorrect");
                    }
                }

                if (command == "name")
                {
                    string name = courants.getName();
                    Console.WriteLine(name);
                }

                if (command == "stop" && saisie != null)
                {
                    Console.WriteLine("Arrêt du système");
                }

            }

            while (command != "stop");

            Console.ReadLine();
        }