Added directory-surfing to Terminal.

Added cd, ls/dir, and mkdir commands to the Terminal.
This commit is contained in:
TheUltimateHacker 2015-05-17 11:47:42 -04:00
parent 26e89066d4
commit ac564b6e77
10 changed files with 94 additions and 11 deletions

View file

@ -1,11 +1,12 @@
Public Class Terminal
Public currentdir As String = root
Dim trackpos As Integer = 0
Public Sub terminal_Innitiate(sender As Object, e As EventArgs) Handles MyBase.Load
Me.FormBorderStyle = Windows.Forms.FormBorderStyle.None
Me.WindowState = FormWindowState.Maximized
AddLine("user@shiftos ~$> ")
AddLine("user@shiftos " & currentdir.ToLower.Replace("c:\shiftos", "~") & "$> ")
SelectBottom()
End Sub
@ -17,6 +18,43 @@
command = command.ToLower
If command Like "help" Then
ShowHelp()
ElseIf command Like "cd *" Then
Dim folder As String = command.Replace("cd ", "")
If folder = ".." Then
If currentdir.ToLower = "c:\shiftos" Then
AddLine("cd: Error! You are at the root of your drive.")
Else
currentdir = IO.Directory.GetParent(currentdir).ToString
End If
Else
If IO.Directory.Exists(currentdir + "\" + folder) Then
currentdir = currentdir & "\" & folder
ElseIf IO.Directory.Exists(folder) Then
currentdir = folder
Else
AddLine("cd: Directory """ & folder & """ doesn't exist.")
End If
End If
ElseIf command = "dir" Or command = "ls" Then
AddLine("Type | Name ")
AddLine("-------+-------------------------------------------")
For Each Dir As String In IO.Directory.GetDirectories(currentdir)
Dim dirinf As New IO.DirectoryInfo(Dir)
AddLine("[DIR] | " & dirinf.Name)
Next
For Each file As String In IO.Directory.GetFiles(currentdir)
Dim filinf As New IO.FileInfo(file)
AddLine(filinf.Extension & " | " & filinf.Name)
Next
ElseIf command Like "mkdir *" Then
Dim foldertomake As String = command.Replace("mkdir ", "")
If IO.Directory.Exists(currentdir + "\" + foldertomake) Then
AddLine("Directory already exists!")
Else
IO.Directory.CreateDirectory(currentdir + "\" + foldertomake)
AddLine("mkdir: Directory created successfully.")
End If
ElseIf command Like "shutdown" Then
Me.Close()
ElseIf command Like "" Then
@ -35,6 +73,9 @@
AddLine(" - Terminal commands are case-insensitive.")
AddLine(" - The screen can only display Black and White." & vbNewLine)
AddLine("Commands: " & vbNewLine)
AddLine(" - cd: Change to the specified directory.")
AddLine(" - mkdir: Create a directory inside the current directory (marked before the %)")
AddLine(" - ls, dir: View the contents of the current directory.")
AddLine(" - shutdown: Shuts the system down.")
AddLine(" - help: Shows this screen.")
@ -109,15 +150,15 @@
If e.KeyCode = Keys.Enter Then
e.SuppressKeyPress = True
Dim command As String = txtterm.Lines(txtterm.Lines.Length - 1).Replace("user@shiftos ~$> ", "").ToLower
Dim command As String = txtterm.Lines(txtterm.Lines.Length - 1).Replace("user@shiftos " & currentdir.ToLower.Replace("c:\shiftos", "~") & "$> ", "").ToLower
Interpret(command)
If command = "clear" Then
txtterm.Text = "user@shiftos ~$> "
txtterm.Text = "user@shiftos " & currentdir.ToLower.Replace("c:\shiftos", "~") & "$> "
txtterm.Select(txtterm.Text.Length, 0)
Else
AddLine("user@shiftos ~$> ")
AddLine("user@shiftos " & currentdir.ToLower.Replace("c:\shiftos", "~") & "$> ")
txtterm.Select(txtterm.Text.Length, 0)
End If

View file

@ -0,0 +1,11 @@
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">
<assemblyIdentity version="1.0.0.0" name="MyApplication.app"/>
<trustInfo xmlns="urn:schemas-microsoft-com:asm.v2">
<security>
<requestedPrivileges xmlns="urn:schemas-microsoft-com:asm.v3">
<requestedExecutionLevel level="asInvoker" uiAccess="false"/>
</requestedPrivileges>
</security>
</trustInfo>
</assembly>

View file

@ -0,0 +1,19 @@
Module filesystem
'This module represents the folder structure of the ShiftFS Filesystem.
Public root As String = "C:\ShiftOS"
Public home As String = root + "\Home\" 'Inconsistent to fix terminal glitch.
Public documents As String = home + "Documents\"
Public pictures As String = home + "Pictures\"
Public music As String = home + "Music\"
Public systemdir As String = root + "Shiftum42\"
Public drivers As String = systemdir + "Drivers\"
Public save As String = drivers + "HDD.dri"
End Module

View file

@ -9,3 +9,14 @@ c:\users\the ultimate hacker\documents\github\ORION\project-orion\shiftos_next\s
c:\users\the ultimate hacker\documents\github\ORION\project-orion\shiftos_next\shiftos_next\obj\Debug\shiftos_next.exe
c:\users\the ultimate hacker\documents\github\ORION\project-orion\shiftos_next\shiftos_next\obj\Debug\shiftos_next.xml
c:\users\the ultimate hacker\documents\github\ORION\project-orion\shiftos_next\shiftos_next\obj\Debug\shiftos_next.pdb
C:\Users\The Ultimate Hacker\Documents\shiftos-next\shiftos_next\bin\Debug\shiftos_next.exe.config
C:\Users\The Ultimate Hacker\Documents\shiftos-next\shiftos_next\obj\Debug\shiftos_next.exe
C:\Users\The Ultimate Hacker\Documents\shiftos-next\shiftos_next\obj\Debug\shiftos_next.xml
C:\Users\The Ultimate Hacker\Documents\shiftos-next\shiftos_next\obj\Debug\shiftos_next.pdb
C:\Users\The Ultimate Hacker\Documents\shiftos-next\shiftos_next\obj\Debug\shiftos_next.HijackScreen.resources
C:\Users\The Ultimate Hacker\Documents\shiftos-next\shiftos_next\obj\Debug\shiftos_next.Resources.resources
C:\Users\The Ultimate Hacker\Documents\shiftos-next\shiftos_next\obj\Debug\shiftos_next.Terminal.resources
C:\Users\The Ultimate Hacker\Documents\shiftos-next\shiftos_next\obj\Debug\shiftos_next.vbproj.GenerateResource.Cache
C:\Users\The Ultimate Hacker\Documents\shiftos-next\shiftos_next\bin\Debug\shiftos_next.exe
C:\Users\The Ultimate Hacker\Documents\shiftos-next\shiftos_next\bin\Debug\shiftos_next.pdb
C:\Users\The Ultimate Hacker\Documents\shiftos-next\shiftos_next\bin\Debug\shiftos_next.xml

View file

@ -70,6 +70,7 @@
<Import Include="System.Threading.Tasks" />
</ItemGroup>
<ItemGroup>
<Compile Include="filesystem.vb" />
<Compile Include="Hijack.Designer.vb">
<DependentUpon>Hijack.vb</DependentUpon>
</Compile>