diff options
Diffstat (limited to 'ShiftOS-TheRevival/TerminalApplications/Internal')
3 files changed, 156 insertions, 0 deletions
diff --git a/ShiftOS-TheRevival/TerminalApplications/Internal/Com_Copy.vb b/ShiftOS-TheRevival/TerminalApplications/Internal/Com_Copy.vb new file mode 100644 index 0000000..74f8e20 --- /dev/null +++ b/ShiftOS-TheRevival/TerminalApplications/Internal/Com_Copy.vb @@ -0,0 +1,23 @@ +Imports System.IO + +Module Com_Copy + Public CopyString As String + + Public Sub Copy() + 'CopyString = RawCommand + If RawCommand Like "copy '*' '*'" Then + Dim CopyEXE() As String = RawCommand.Split("''") + Dim DestFile As String = CopyEXE(2) + NewLine(DestFile) + DestFile.Replace("!", Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData) & "\ShiftOS\ShiftFS") + CopyEXE(2) = DestFile + NewLine(CopyEXE(2) & "\" & CopyEXE(1)) + If File.Exists(Console.CurrentDirectory & "\" & CopyEXE(1)) = True Then + If Directory.Exists(CopyEXE(2)) = True Then + NewLine(Console.CurrentDirectory & "\" & CopyEXE(1)) + File.Copy(Console.CurrentDirectory & "\" & CopyEXE(1), CopyEXE(2) & "\" & CopyEXE(1)) + End If + End If + End If + End Sub +End Module diff --git a/ShiftOS-TheRevival/TerminalApplications/Internal/Com_Unzip.vb b/ShiftOS-TheRevival/TerminalApplications/Internal/Com_Unzip.vb new file mode 100644 index 0000000..8dcc8c6 --- /dev/null +++ b/ShiftOS-TheRevival/TerminalApplications/Internal/Com_Unzip.vb @@ -0,0 +1,96 @@ +Imports System.IO +Imports System.IO.Compression + +Module Com_Unzip + Public UnzipString As String + + Public Sub Unzip() + UnzipString = RawCommand.Substring(6) + If UnzipString Like "-d '*.zip'" Then + Dim UnzipEXE() As String = UnzipString.Split("''") + NewLine(UnzipEXE(1)) + If File.Exists(Console.CurrentDirectory & "\" & UnzipEXE(1)) = True Then + Dim UnzipDir As String = UnzipEXE(1).Replace(".zip", "") + NewLine(UnzipDir) + Dim UnzipRandomInt As Integer + Dim UnzipRandom As New Random + UnzipRandomInt = UnzipRandom.Next(1, 1000000) + NewLine("Creating temporary place for selected archive...") + Directory.CreateDirectory(Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData) & "\ShiftOS\SysShiftFS\UNZIP" & UnzipRandomInt) + NewLine("Extracting the file from a zip file...") + ZipFile.ExtractToDirectory(Console.CurrentDirectory & "\" & UnzipEXE(1), Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData) & "\ShiftOS\SysShiftFS\UNZIP" & UnzipRandomInt) + NewLine("Copying the extracted file into the current directory...") + Directory.CreateDirectory(Console.CurrentDirectory & "\" & UnzipDir) + CopyDirectory(Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData) & "\ShiftOS\SysShiftFS\UNZIP" & UnzipRandomInt, Console.CurrentDirectory & "\" & UnzipDir) + NewLine("Removing temporary place of the file...") + Directory.Delete(Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData) & "\ShiftOS\SysShiftFS\UNZIP" & UnzipRandomInt, True) + Else + + End If + End If + If UnzipString Like "-h '*.zip'" Then + Dim UnzipEXE() As String = UnzipString.Split("''") + NewLine(UnzipEXE(1)) + If File.Exists(Console.CurrentDirectory & "\" & UnzipEXE(1)) = True Then + Dim UnzipDir As String = UnzipEXE(1).Replace(".zip", "") + NewLine(UnzipDir) + Dim UnzipRandomInt As Integer + Dim UnzipRandom As New Random + UnzipRandomInt = UnzipRandom.Next(1, 1000000) + NewLine("Creating temporary place for selected archive...") + Directory.CreateDirectory(Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData) & "\ShiftOS\SysShiftFS\UNZIP" & UnzipRandomInt) + NewLine("Extracting the file from a zip file...") + ZipFile.ExtractToDirectory(Console.CurrentDirectory & "\" & UnzipEXE(1), Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData) & "\ShiftOS\SysShiftFS\UNZIP" & UnzipRandomInt) + NewLine("Copying the extracted file into the current directory...") + Directory.CreateDirectory(Console.CurrentDirectory & "\" & UnzipDir) + CopyDirectory(Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData) & "\ShiftOS\SysShiftFS\UNZIP" & UnzipRandomInt, Console.CurrentDirectory) + NewLine("Removing temporary place of the file...") + Directory.Delete(Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData) & "\ShiftOS\SysShiftFS\UNZIP" & UnzipRandomInt, True) + Else + + End If + End If + End Sub + + Public Sub CopyDirectory(ByVal SourcePath As String, ByVal DestPath As String, Optional ByVal Overwrite As Boolean = False) + Dim SourceDir As DirectoryInfo = New DirectoryInfo(SourcePath) + Dim DestDir As DirectoryInfo = New DirectoryInfo(DestPath) + + ' the source directory must exist, otherwise throw an exception + If SourceDir.Exists Then + ' if destination SubDir's parent SubDir does not exist throw an exception + If Not DestDir.Parent.Exists Then + Throw New DirectoryNotFoundException _ + ("Destination directory does not exist: " + DestDir.Parent.FullName) + End If + + If Not DestDir.Exists Then + DestDir.Create() + End If + + ' copy all the files of the current directory + Dim ChildFile As FileInfo + For Each ChildFile In SourceDir.GetFiles() + If Overwrite Then + ChildFile.CopyTo(Path.Combine(DestDir.FullName, ChildFile.Name), True) + Else + ' if Overwrite = false, copy the file only if it does not exist + ' this is done to avoid an IOException if a file already exists + ' this way the other files can be copied anyway... + If Not File.Exists(Path.Combine(DestDir.FullName, ChildFile.Name)) Then + ChildFile.CopyTo(Path.Combine(DestDir.FullName, ChildFile.Name), False) + End If + End If + Next + + ' copy all the sub-directories by recursively calling this same routine + Dim SubDir As DirectoryInfo + For Each SubDir In SourceDir.GetDirectories() + CopyDirectory(SubDir.FullName, Path.Combine(DestDir.FullName, + SubDir.Name), Overwrite) + Next + Else + Throw New DirectoryNotFoundException("Source directory does not exist: " + SourceDir.FullName) + End If + End Sub +End Module diff --git a/ShiftOS-TheRevival/TerminalApplications/Internal/Com_Zip.vb b/ShiftOS-TheRevival/TerminalApplications/Internal/Com_Zip.vb new file mode 100644 index 0000000..b48d2ae --- /dev/null +++ b/ShiftOS-TheRevival/TerminalApplications/Internal/Com_Zip.vb @@ -0,0 +1,37 @@ +Imports System.IO +Imports System.IO.Compression + +Module Com_Zip + Public ZipString As String + + Public Sub Zip() + ZipString = RawCommand.Substring(4) + If ZipString Like "-f '*.zip' '*'" Then + Dim ZipEXE() As String = ZipString.Split("''") + If File.Exists(Console.CurrentDirectory & "\" & ZipEXE(3)) = True Then + Dim ZipRandomInt As Integer + Dim ZipRandom As New Random + ZipRandomInt = ZipRandom.Next(1, 1000000) + NewLine("Creating temporary place for selected file...") + Directory.CreateDirectory(Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData) & "\ShiftOS\SysShiftFS\ZIP" & ZipRandomInt) + NewLine("Assigning place for the selected file...") + File.Copy(Console.CurrentDirectory & "\" & ZipEXE(3), Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData) & "\ShiftOS\SysShiftFS\ZIP" & ZipRandomInt & "\" & ZipEXE(3)) + NewLine("Compressing the file into a zip file...") + ZipFile.CreateFromDirectory(Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData) & "\ShiftOS\SysShiftFS\ZIP" & ZipRandomInt, Console.CurrentDirectory & "\" & ZipEXE(1)) + NewLine("Removing temporary place of the file...") + Directory.Delete(Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData) & "\ShiftOS\SysShiftFS\ZIP" & ZipRandomInt, True) + Else + + End If + End If + If ZipString Like "-d '*.zip' '*'" Then + Dim ZipEXE() As String = ZipString.Split("''") + If Directory.Exists(Console.CurrentDirectory & "\" & ZipEXE(3)) = True Then + NewLine("Compressing the directory into a zip file...") + ZipFile.CreateFromDirectory(Console.CurrentDirectory & "\" & ZipEXE(3), Console.CurrentDirectory & "\" & ZipEXE(1)) + Else + + End If + End If + End Sub +End Module |
