diff --git a/Source/FileManager/FileNamingTemplate.cs b/Source/FileManager/FileNamingTemplate.cs index e1a782ea..c00232a9 100644 --- a/Source/FileManager/FileNamingTemplate.cs +++ b/Source/FileManager/FileNamingTemplate.cs @@ -15,7 +15,11 @@ namespace FileManager /// Generate a valid path for this file or directory public LongPath GetFilePath(ReplacementCharacters replacements, bool returnFirstExisting = false) { - string fileName = Template.EndsWith(Path.DirectorySeparatorChar) ? Template[..^1] : Template; + string fileName = + Template.EndsWith(Path.DirectorySeparatorChar) || Template.EndsWith(Path.AltDirectorySeparatorChar) ? + FileUtility.RemoveLastCharacter(Template) : + Template; + List pathParts = new(); var paramReplacements = ParameterReplacements.ToDictionary(r => $"<{formatKey(r.Key)}>", r => formatValue(r.Value, replacements)); diff --git a/Source/FileManager/FileUtility.cs b/Source/FileManager/FileUtility.cs index 6cc42380..4103cb47 100644 --- a/Source/FileManager/FileUtility.cs +++ b/Source/FileManager/FileUtility.cs @@ -84,7 +84,7 @@ namespace FileManager var pathNoPrefix = path.PathWithoutPrefix; - pathNoPrefix = replacements.ReplaceInvalidChars(pathNoPrefix); + pathNoPrefix = replacements.ReplaceInvalidPathChars(pathNoPrefix); pathNoPrefix = removeDoubleSlashes(pathNoPrefix); return pathNoPrefix; diff --git a/Source/FileManager/ReplacementCharacters.cs b/Source/FileManager/ReplacementCharacters.cs index 690c279e..8c839e4c 100644 --- a/Source/FileManager/ReplacementCharacters.cs +++ b/Source/FileManager/ReplacementCharacters.cs @@ -185,7 +185,7 @@ namespace FileManager return builder.ToString(); } - public string ReplaceInvalidChars(string pathStr) + public string ReplaceInvalidPathChars(string pathStr) { if (string.IsNullOrEmpty(pathStr)) return string.Empty;