From daea458f64c2f46c40a07a43ab22fe29246299a7 Mon Sep 17 00:00:00 2001 From: "Namhyeon, Go" Date: Sun, 16 Nov 2025 18:58:48 +0900 Subject: [PATCH] Update WelsonJS.Toolkit/WelsonJS.Launcher/Program.cs Co-authored-by: qodo-merge-pro[bot] <151058649+qodo-merge-pro[bot]@users.noreply.github.com> --- WelsonJS.Toolkit/WelsonJS.Launcher/Program.cs | 28 ++++++++----------- 1 file changed, 12 insertions(+), 16 deletions(-) diff --git a/WelsonJS.Toolkit/WelsonJS.Launcher/Program.cs b/WelsonJS.Toolkit/WelsonJS.Launcher/Program.cs index 99de06f..d143460 100644 --- a/WelsonJS.Toolkit/WelsonJS.Launcher/Program.cs +++ b/WelsonJS.Toolkit/WelsonJS.Launcher/Program.cs @@ -207,25 +207,21 @@ namespace WelsonJS.Launcher throw; } - return workingDirectory; - } - private static void CopyDirectoryRecursive(string sourceDir, string destDir) - { - if (!Directory.Exists(sourceDir)) - { - throw new DirectoryNotFoundException("Source directory not found: " + sourceDir); - } + var sourceDirInfo = new DirectoryInfo(sourceDir); - Directory.CreateDirectory(destDir); - - foreach (var file in Directory.GetFiles(sourceDir, "*", SearchOption.AllDirectories)) - { - string relativePath = file.Substring(sourceDir.Length).TrimStart( - Path.DirectorySeparatorChar, - Path.AltDirectorySeparatorChar - ); + // Create all subdirectories + foreach (DirectoryInfo dir in sourceDirInfo.GetDirectories("*", SearchOption.AllDirectories)) + { + Directory.CreateDirectory(Path.Combine(destDir, dir.FullName.Substring(sourceDirInfo.FullName.Length + 1))); + } + // Copy all files + foreach (FileInfo file in sourceDirInfo.GetFiles("*", SearchOption.AllDirectories)) + { + string targetPath = Path.Combine(destDir, file.FullName.Substring(sourceDirInfo.FullName.Length + 1)); + file.CopyTo(targetPath, true); + } string targetPath = Path.Combine(destDir, relativePath); string targetDir = Path.GetDirectoryName(targetPath); if (!Directory.Exists(targetDir))