mirror of
https://github.com/Leonmmcoset/CMLeonOS.git
synced 2026-03-03 15:30:27 +00:00
拆分代码10
This commit is contained in:
@@ -29,20 +29,20 @@ namespace CMLeonOS.Commands.FileSystem
|
|||||||
string sourcePath = fileSystem.GetFullPath(sourceFile);
|
string sourcePath = fileSystem.GetFullPath(sourceFile);
|
||||||
string destPath = fileSystem.GetFullPath(newName);
|
string destPath = fileSystem.GetFullPath(newName);
|
||||||
|
|
||||||
if (!System.IO.File.Exists(sourcePath))
|
if (!global::System.IO.File.Exists(sourcePath))
|
||||||
{
|
{
|
||||||
showError($"Source file '{sourceFile}' does not exist");
|
showError($"Source file '{sourceFile}' does not exist");
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (System.IO.File.Exists(destPath))
|
if (global::System.IO.File.Exists(destPath))
|
||||||
{
|
{
|
||||||
showError($"Destination '{newName}' already exists");
|
showError($"Destination '{newName}' already exists");
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
string content = fileSystem.ReadFile(sourcePath);
|
string content = fileSystem.ReadFile(sourcePath);
|
||||||
System.IO.File.WriteAllText(destPath, content);
|
global::System.IO.File.WriteAllText(destPath, content);
|
||||||
fileSystem.DeleteFile(sourcePath);
|
fileSystem.DeleteFile(sourcePath);
|
||||||
|
|
||||||
showSuccess($"File renamed successfully from '{sourceFile}' to '{newName}'");
|
showSuccess($"File renamed successfully from '{sourceFile}' to '{newName}'");
|
||||||
|
|||||||
@@ -9,7 +9,7 @@ namespace CMLeonOS.Commands.FileSystem
|
|||||||
string startPath = string.IsNullOrEmpty(args) ? "." : args;
|
string startPath = string.IsNullOrEmpty(args) ? "." : args;
|
||||||
string fullPath = fileSystem.GetFullPath(startPath);
|
string fullPath = fileSystem.GetFullPath(startPath);
|
||||||
|
|
||||||
if (!System.IO.Directory.Exists(fullPath))
|
if (!global::System.IO.Directory.Exists(fullPath))
|
||||||
{
|
{
|
||||||
showError($"Directory not found: {startPath}");
|
showError($"Directory not found: {startPath}");
|
||||||
return;
|
return;
|
||||||
@@ -43,7 +43,7 @@ namespace CMLeonOS.Commands.FileSystem
|
|||||||
string connector = isLastItem ? "+-- " : "|-- ";
|
string connector = isLastItem ? "+-- " : "|-- ";
|
||||||
string newPrefix = prefix + (isLastItem ? " " : "| ");
|
string newPrefix = prefix + (isLastItem ? " " : "| ");
|
||||||
|
|
||||||
string dirName = System.IO.Path.GetFileName(dir);
|
string dirName = global::System.IO.Path.GetFileName(dir);
|
||||||
Console.WriteLine($"{prefix}{connector}{dirName}/");
|
Console.WriteLine($"{prefix}{connector}{dirName}/");
|
||||||
|
|
||||||
PrintDirectoryTree(fileSystem, dir, newPrefix, isLastItem, showError);
|
PrintDirectoryTree(fileSystem, dir, newPrefix, isLastItem, showError);
|
||||||
@@ -55,11 +55,11 @@ namespace CMLeonOS.Commands.FileSystem
|
|||||||
bool isLastItem = current == totalItems;
|
bool isLastItem = current == totalItems;
|
||||||
string connector = isLastItem ? "+-- " : "|-- ";
|
string connector = isLastItem ? "+-- " : "|-- ";
|
||||||
|
|
||||||
string fileName = System.IO.Path.GetFileName(file);
|
string fileName = global::System.IO.Path.GetFileName(file);
|
||||||
Console.WriteLine($"{prefix}{connector}{fileName}");
|
Console.WriteLine($"{prefix}{connector}{fileName}");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
catch (System.IO.DirectoryNotFoundException)
|
catch (global::System.IO.DirectoryNotFoundException)
|
||||||
{
|
{
|
||||||
showError($"Directory not found: {path}");
|
showError($"Directory not found: {path}");
|
||||||
}
|
}
|
||||||
|
|||||||
12
shell/Commands/System/ClearCommand.cs
Normal file
12
shell/Commands/System/ClearCommand.cs
Normal file
@@ -0,0 +1,12 @@
|
|||||||
|
using System;
|
||||||
|
|
||||||
|
namespace CMLeonOS.Commands.System
|
||||||
|
{
|
||||||
|
public static class ClearCommand
|
||||||
|
{
|
||||||
|
public static void ProcessClear()
|
||||||
|
{
|
||||||
|
Console.Clear();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
12
shell/Commands/System/DateCommand.cs
Normal file
12
shell/Commands/System/DateCommand.cs
Normal file
@@ -0,0 +1,12 @@
|
|||||||
|
using System;
|
||||||
|
|
||||||
|
namespace CMLeonOS.Commands.System
|
||||||
|
{
|
||||||
|
public static class DateCommand
|
||||||
|
{
|
||||||
|
public static void ProcessDate()
|
||||||
|
{
|
||||||
|
Console.WriteLine(DateTime.Now.ToShortDateString());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
13
shell/Commands/System/EchoCommand.cs
Normal file
13
shell/Commands/System/EchoCommand.cs
Normal file
@@ -0,0 +1,13 @@
|
|||||||
|
using System;
|
||||||
|
|
||||||
|
namespace CMLeonOS.Commands.System
|
||||||
|
{
|
||||||
|
public static class EchoCommand
|
||||||
|
{
|
||||||
|
public static void ProcessEcho(string args)
|
||||||
|
{
|
||||||
|
var processedArgs = args.Replace("\\n", "\n");
|
||||||
|
Console.WriteLine(processedArgs);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
12
shell/Commands/System/TimeCommand.cs
Normal file
12
shell/Commands/System/TimeCommand.cs
Normal file
@@ -0,0 +1,12 @@
|
|||||||
|
using System;
|
||||||
|
|
||||||
|
namespace CMLeonOS.Commands.System
|
||||||
|
{
|
||||||
|
public static class TimeCommand
|
||||||
|
{
|
||||||
|
public static void ProcessTime()
|
||||||
|
{
|
||||||
|
Console.WriteLine(DateTime.Now.ToString());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
45
shell/Commands/System/UptimeCommand.cs
Normal file
45
shell/Commands/System/UptimeCommand.cs
Normal file
@@ -0,0 +1,45 @@
|
|||||||
|
using System;
|
||||||
|
|
||||||
|
namespace CMLeonOS.Commands.System
|
||||||
|
{
|
||||||
|
public static class UptimeCommand
|
||||||
|
{
|
||||||
|
public static void ShowUptime(Action<string> showError, Action<string> showWarning)
|
||||||
|
{
|
||||||
|
try
|
||||||
|
{
|
||||||
|
Console.WriteLine("====================================");
|
||||||
|
Console.WriteLine(" System Uptime");
|
||||||
|
Console.WriteLine("====================================");
|
||||||
|
Console.WriteLine();
|
||||||
|
|
||||||
|
if (Kernel.SystemStartTime != DateTime.MinValue)
|
||||||
|
{
|
||||||
|
TimeSpan uptime = DateTime.Now - Kernel.SystemStartTime;
|
||||||
|
|
||||||
|
Console.WriteLine("System started: " + Kernel.SystemStartTime.ToString("yyyy-MM-dd HH:mm:ss"));
|
||||||
|
Console.WriteLine("Current time: " + DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"));
|
||||||
|
Console.WriteLine();
|
||||||
|
|
||||||
|
int days = uptime.Days;
|
||||||
|
int hours = uptime.Hours;
|
||||||
|
int minutes = uptime.Minutes;
|
||||||
|
int seconds = uptime.Seconds;
|
||||||
|
|
||||||
|
Console.WriteLine($"System uptime: {days} days, {hours} hours, {minutes} minutes, {seconds} seconds");
|
||||||
|
Console.WriteLine($"Total uptime: {uptime.TotalHours:F2} hours");
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
showWarning("System start time not available.");
|
||||||
|
showWarning("System may have been started before uptime tracking was implemented.");
|
||||||
|
}
|
||||||
|
Console.WriteLine();
|
||||||
|
}
|
||||||
|
catch (Exception ex)
|
||||||
|
{
|
||||||
|
showError($"Error showing uptime: {ex.Message}");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
17
shell/Commands/System/WhoamiCommand.cs
Normal file
17
shell/Commands/System/WhoamiCommand.cs
Normal file
@@ -0,0 +1,17 @@
|
|||||||
|
using System;
|
||||||
|
|
||||||
|
namespace CMLeonOS.Commands.System
|
||||||
|
{
|
||||||
|
public static class WhoamiCommand
|
||||||
|
{
|
||||||
|
public static void ShowCurrentUsername(CMLeonOS.UserSystem userSystem)
|
||||||
|
{
|
||||||
|
Console.WriteLine("====================================");
|
||||||
|
Console.WriteLine(" Current User");
|
||||||
|
Console.WriteLine("====================================");
|
||||||
|
Console.WriteLine();
|
||||||
|
Console.WriteLine($"Username: {userSystem.CurrentUsername}");
|
||||||
|
Console.WriteLine();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -115,13 +115,12 @@ namespace CMLeonOS
|
|||||||
|
|
||||||
public void ProcessEcho(string args)
|
public void ProcessEcho(string args)
|
||||||
{
|
{
|
||||||
var processedArgs = args.Replace("\\n", "\n");
|
Commands.System.EchoCommand.ProcessEcho(args);
|
||||||
Console.WriteLine(processedArgs);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public void ProcessClear()
|
public void ProcessClear()
|
||||||
{
|
{
|
||||||
Console.Clear();
|
Commands.System.ClearCommand.ProcessClear();
|
||||||
}
|
}
|
||||||
|
|
||||||
public void ProcessRestart()
|
public void ProcessRestart()
|
||||||
@@ -141,12 +140,12 @@ namespace CMLeonOS
|
|||||||
|
|
||||||
public void ProcessTime()
|
public void ProcessTime()
|
||||||
{
|
{
|
||||||
Console.WriteLine(DateTime.Now.ToString());
|
Commands.System.TimeCommand.ProcessTime();
|
||||||
}
|
}
|
||||||
|
|
||||||
public void ProcessDate()
|
public void ProcessDate()
|
||||||
{
|
{
|
||||||
Console.WriteLine(DateTime.Now.ToShortDateString());
|
Commands.System.DateCommand.ProcessDate();
|
||||||
}
|
}
|
||||||
|
|
||||||
public void ProcessLs(string args)
|
public void ProcessLs(string args)
|
||||||
@@ -715,40 +714,7 @@ namespace CMLeonOS
|
|||||||
|
|
||||||
public void ShowUptime()
|
public void ShowUptime()
|
||||||
{
|
{
|
||||||
try
|
Commands.System.UptimeCommand.ShowUptime(ShowError, ShowWarning);
|
||||||
{
|
|
||||||
Console.WriteLine("====================================");
|
|
||||||
Console.WriteLine(" System Uptime");
|
|
||||||
Console.WriteLine("====================================");
|
|
||||||
Console.WriteLine();
|
|
||||||
|
|
||||||
if (Kernel.SystemStartTime != DateTime.MinValue)
|
|
||||||
{
|
|
||||||
TimeSpan uptime = DateTime.Now - Kernel.SystemStartTime;
|
|
||||||
|
|
||||||
Console.WriteLine("System started: " + Kernel.SystemStartTime.ToString("yyyy-MM-dd HH:mm:ss"));
|
|
||||||
Console.WriteLine("Current time: " + DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"));
|
|
||||||
Console.WriteLine();
|
|
||||||
|
|
||||||
int days = uptime.Days;
|
|
||||||
int hours = uptime.Hours;
|
|
||||||
int minutes = uptime.Minutes;
|
|
||||||
int seconds = uptime.Seconds;
|
|
||||||
|
|
||||||
Console.WriteLine($"System uptime: {days} days, {hours} hours, {minutes} minutes, {seconds} seconds");
|
|
||||||
Console.WriteLine($"Total uptime: {uptime.TotalHours:F2} hours");
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
ShowWarning("System start time not available.");
|
|
||||||
ShowWarning("System may have been started before uptime tracking was implemented.");
|
|
||||||
}
|
|
||||||
Console.WriteLine();
|
|
||||||
}
|
|
||||||
catch (Exception ex)
|
|
||||||
{
|
|
||||||
ShowError($"Error showing uptime: {ex.Message}");
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public void CreateFTP()
|
public void CreateFTP()
|
||||||
@@ -1237,12 +1203,7 @@ namespace CMLeonOS
|
|||||||
|
|
||||||
public void ShowCurrentUsername()
|
public void ShowCurrentUsername()
|
||||||
{
|
{
|
||||||
Console.WriteLine("====================================");
|
Commands.System.WhoamiCommand.ShowCurrentUsername(userSystem);
|
||||||
Console.WriteLine(" Current User");
|
|
||||||
Console.WriteLine("====================================");
|
|
||||||
Console.WriteLine();
|
|
||||||
Console.WriteLine($"Username: {userSystem.CurrentUsername}");
|
|
||||||
Console.WriteLine();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public void ProcessBase64Command(string args)
|
public void ProcessBase64Command(string args)
|
||||||
|
|||||||
Reference in New Issue
Block a user