Advertisement
Guest User

Untitled

a guest
Oct 14th, 2019
96
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 5.14 KB | None | 0 0
  1. import java.io.*;
  2. import java.util.*;
  3. import java.util.regex.Pattern;
  4.  
  5. public class CommandLine {
  6.  
  7. //Fields
  8. public static String pfad = "C:\\";
  9.  
  10.  
  11. //Scannereingabe
  12. public static String eingabe(){
  13. Scanner sc = new Scanner(System.in);
  14. String test = sc.nextLine();
  15. return test;
  16. }
  17.  
  18. //Scannereingabe wird in Einzelteile aufgeteilt
  19. public static String[] splitEingabe(String eingabe){
  20. String[] parts = eingabe.split(" ");
  21. return parts;
  22. }
  23.  
  24.  
  25. //Kommandozeile anzeigen
  26. public static String kommandoZeile(String pfad) {
  27. File f = new File(pfad);
  28. String path = f.getPath();
  29. return path;
  30. }
  31.  
  32.  
  33.  
  34.  
  35.  
  36. public static void main(String[] args) {
  37.  
  38.  
  39. Scanner sc = new Scanner(System.in);
  40. String eingabe;
  41. int eingabeLaenge = 3;
  42. int pfadLaenge = 3;
  43.  
  44. System.out.println("***********************************************************************************");
  45. System.out.println("* Willkommen in der GAB OS Kommandozeilenebe Version 1.0 *");
  46. System.out.println("* Geben Sie 'help' für Hilfe ein und 'exit' zum Beenden des Programms *");
  47. System.out.println("***********************************************************************************");
  48.  
  49. System.out.print(kommandoZeile(pfad));
  50. eingabe = eingabe().toUpperCase();
  51.  
  52. while (eingabe != "EXIT"){
  53.  
  54. switch(splitEingabe(eingabe)[0]){
  55.  
  56. case "LS":
  57. File verzeichnis = new File(pfad);
  58. File[] verzeichnisInhalt = new File[255];
  59. verzeichnisInhalt = verzeichnis.listFiles();
  60. for(int i = 0; i < verzeichnisInhalt.length ; i++) {
  61. if (verzeichnisInhalt[i].isDirectory()) {
  62. System.out.print("[DIR] " + verzeichnisInhalt[i] + "\n");
  63. }
  64. }
  65. for(int i = 0; i < verzeichnisInhalt.length ; i++) {
  66. if (verzeichnisInhalt[i].isFile()) {
  67. System.out.println(verzeichnisInhalt[i]);
  68. }
  69.  
  70.  
  71. }
  72. System.out.print(kommandoZeile(pfad) + "\\");
  73. eingabe = eingabe().toUpperCase();
  74. break;
  75.  
  76. case "MKDIR":
  77. System.out.println("Hi");
  78. eingabe = eingabe().toUpperCase();
  79. break;
  80.  
  81. case "CP":
  82. break;
  83.  
  84. case "CD":
  85. if(eingabe.length() > 3) {
  86. pfadLaenge = splitEingabe(eingabe)[1].length();
  87. String pruefPfad = pfad + "\\" + splitEingabe(eingabe)[1];
  88. File f = new File(pruefPfad + "\\");
  89. if (f.exists()) {
  90. pfad = pruefPfad;
  91. System.out.print(kommandoZeile(pfad) + "\\");
  92. eingabe = eingabe().toUpperCase();
  93. } else {
  94. System.out.println("Verzeichnis nicht gefunden");
  95. System.out.print(kommandoZeile(pfad) + "\\");
  96. eingabe = eingabe().toUpperCase();
  97. }
  98. }else
  99. {
  100. System.out.println("Bitte geben Sie einen Verzeichnisnamen oder cd.. ein\n");
  101. System.out.print(kommandoZeile(pfad));
  102. eingabe = eingabe().toUpperCase();
  103. }
  104.  
  105. break;
  106.  
  107. case "CD..":
  108. if (pfad.length() > 3) {
  109. StringBuffer tempPfad = new StringBuffer(pfad);
  110. tempPfad.delete(tempPfad.length() - pfadLaenge, tempPfad.length());
  111. pfad = tempPfad.toString();
  112. System.out.print(kommandoZeile(pfad));
  113. eingabe = eingabe().toUpperCase();
  114. break;
  115. }else{
  116. System.out.print("Sie befinden sich im Hauptverzeichnis\n");
  117. System.out.print(kommandoZeile(pfad) + "\\");
  118. eingabe = eingabe().toUpperCase();
  119. }
  120.  
  121.  
  122. case "RM":
  123. break;
  124.  
  125. case "RMDIR":
  126. break;
  127.  
  128. case "MV":
  129. break;
  130.  
  131. case "HELP":
  132. break;
  133.  
  134. case "":
  135. System.out.print(kommandoZeile(pfad) + "\\");
  136. eingabe = eingabe().toUpperCase();
  137. break;
  138.  
  139. default:
  140. System.out.println("Befehl oder Dateiname nicht gefunden\n");
  141. System.out.print(kommandoZeile(pfad) + "\\");
  142. eingabe = eingabe().toUpperCase();
  143. break;
  144.  
  145.  
  146. }
  147. }
  148.  
  149.  
  150. }
  151. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement