拆分代码10

This commit is contained in:
2026-02-04 22:09:01 +08:00
parent 2c36c08ca0
commit 147e2d6881
9 changed files with 124 additions and 52 deletions

View File

@@ -29,20 +29,20 @@ namespace CMLeonOS.Commands.FileSystem
string sourcePath = fileSystem.GetFullPath(sourceFile);
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");
return;
}
if (System.IO.File.Exists(destPath))
if (global::System.IO.File.Exists(destPath))
{
showError($"Destination '{newName}' already exists");
return;
}
string content = fileSystem.ReadFile(sourcePath);
System.IO.File.WriteAllText(destPath, content);
global::System.IO.File.WriteAllText(destPath, content);
fileSystem.DeleteFile(sourcePath);
showSuccess($"File renamed successfully from '{sourceFile}' to '{newName}'");

View File

@@ -9,7 +9,7 @@ namespace CMLeonOS.Commands.FileSystem
string startPath = string.IsNullOrEmpty(args) ? "." : args;
string fullPath = fileSystem.GetFullPath(startPath);
if (!System.IO.Directory.Exists(fullPath))
if (!global::System.IO.Directory.Exists(fullPath))
{
showError($"Directory not found: {startPath}");
return;
@@ -43,7 +43,7 @@ namespace CMLeonOS.Commands.FileSystem
string connector = 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}/");
PrintDirectoryTree(fileSystem, dir, newPrefix, isLastItem, showError);
@@ -55,11 +55,11 @@ namespace CMLeonOS.Commands.FileSystem
bool isLastItem = current == totalItems;
string connector = isLastItem ? "+-- " : "|-- ";
string fileName = System.IO.Path.GetFileName(file);
string fileName = global::System.IO.Path.GetFileName(file);
Console.WriteLine($"{prefix}{connector}{fileName}");
}
}
catch (System.IO.DirectoryNotFoundException)
catch (global::System.IO.DirectoryNotFoundException)
{
showError($"Directory not found: {path}");
}

View File

@@ -0,0 +1,12 @@
using System;
namespace CMLeonOS.Commands.System
{
public static class ClearCommand
{
public static void ProcessClear()
{
Console.Clear();
}
}
}

View File

@@ -0,0 +1,12 @@
using System;
namespace CMLeonOS.Commands.System
{
public static class DateCommand
{
public static void ProcessDate()
{
Console.WriteLine(DateTime.Now.ToShortDateString());
}
}
}

View 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);
}
}
}

View File

@@ -0,0 +1,12 @@
using System;
namespace CMLeonOS.Commands.System
{
public static class TimeCommand
{
public static void ProcessTime()
{
Console.WriteLine(DateTime.Now.ToString());
}
}
}

View 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}");
}
}
}
}

View 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();
}
}
}

View File

@@ -115,13 +115,12 @@ namespace CMLeonOS
public void ProcessEcho(string args)
{
var processedArgs = args.Replace("\\n", "\n");
Console.WriteLine(processedArgs);
Commands.System.EchoCommand.ProcessEcho(args);
}
public void ProcessClear()
{
Console.Clear();
Commands.System.ClearCommand.ProcessClear();
}
public void ProcessRestart()
@@ -141,12 +140,12 @@ namespace CMLeonOS
public void ProcessTime()
{
Console.WriteLine(DateTime.Now.ToString());
Commands.System.TimeCommand.ProcessTime();
}
public void ProcessDate()
{
Console.WriteLine(DateTime.Now.ToShortDateString());
Commands.System.DateCommand.ProcessDate();
}
public void ProcessLs(string args)
@@ -715,40 +714,7 @@ namespace CMLeonOS
public void ShowUptime()
{
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}");
}
Commands.System.UptimeCommand.ShowUptime(ShowError, ShowWarning);
}
public void CreateFTP()
@@ -1237,12 +1203,7 @@ namespace CMLeonOS
public void ShowCurrentUsername()
{
Console.WriteLine("====================================");
Console.WriteLine(" Current User");
Console.WriteLine("====================================");
Console.WriteLine();
Console.WriteLine($"Username: {userSystem.CurrentUsername}");
Console.WriteLine();
Commands.System.WhoamiCommand.ShowCurrentUsername(userSystem);
}
public void ProcessBase64Command(string args)