龙腾猫跃 пре 5 месеци
родитељ
комит
0e8671a7af
2 измењених фајлова са 3 додато и 11 уклоњено
  1. 2 2
      Shared/Utils/DirectoryUtils.cs
  2. 1 9
      Shared/Utils/PathUtils.cs

+ 2 - 2
Shared/Utils/DirectoryUtils.cs

@@ -64,8 +64,8 @@ public static class DirectoryUtils {
             progressHandler?.Invoke(1);
             return;
         }
-        sourceDirName = PathUtils.WithoutLongPath(PathUtils.WithSeparator(sourceDirName, Path.DirectorySeparatorChar));
-        destDirName = PathUtils.WithoutLongPath(PathUtils.WithSeparator(destDirName, Path.DirectorySeparatorChar));
+        sourceDirName = PathUtils.WithoutLongPath(PathUtils.WithSeparator(sourceDirName)).Replace("/", @"\");
+        destDirName = PathUtils.WithoutLongPath(PathUtils.WithSeparator(destDirName)).Replace("/", @"\");
         int doneCount = 0;
         Lazy<int> totalCount = new(() => DirectoryUtils.GetFiles(sourceDirName).Count());
         Logger.Trace($"复制文件夹:{sourceDirName} → {destDirName}");

+ 1 - 9
Shared/Utils/PathUtils.cs

@@ -9,14 +9,6 @@ public static class PathUtils {
     public static string WithSeparator(string folder) 
         => folder + (folder.EndsWithF(Path.DirectorySeparatorChar) || folder.EndsWithF(Path.AltDirectorySeparatorChar) ? "" : Path.DirectorySeparatorChar);
 
-    /// <summary>
-    /// 确保路径使用指定的文件夹分隔符,且末尾包含指定的文件夹分隔符。
-    /// </summary>
-    public static string WithSeparator(string folder, char separator) {
-        folder = folder.Replace(Path.DirectorySeparatorChar, separator).Replace(Path.AltDirectorySeparatorChar, separator);
-        return folder + (folder.EndsWithF(separator) ? "" : separator);
-    }
-
     /// <summary>
     /// 确保路径的结尾不包含文件夹分隔符。
     /// </summary>
@@ -33,7 +25,7 @@ public static class PathUtils {
     /// </summary>
     public static string ToShortPath(string fullName, bool keepFileName = false) {
         if (string.IsNullOrEmpty(fullName)) return fullName;
-        fullName = PathUtils.WithoutLongPath( fullName.Replace('/', '\\'));
+        fullName = PathUtils.WithoutLongPath(fullName.Replace('/', '\\'));
         if (fullName.Length <= 200) return fullName;
 
         // 保留文件名