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;