fix: 暂时使用波浪号检测修复 #4505

This commit is contained in:
SALTWOOD
2024-08-15 17:12:27 +08:00
parent c62ab46b99
commit 8b0d9e5a5c
@@ -214,6 +214,7 @@ Public Class ValidateFolderName
On Error Resume Next On Error Resume Next
PathIgnore = New DirectoryInfo(Path).EnumerateDirectories PathIgnore = New DirectoryInfo(Path).EnumerateDirectories
End Sub End Sub
Public Overrides Function Validate(Str As String) As String Public Overrides Function Validate(Str As String) As String
Try Try
'检查是否为空 '检查是否为空
@@ -233,6 +234,8 @@ Public Class ValidateFolderName
'检查特殊字符串 '检查特殊字符串
Dim InvalidStrCheck As String = New ValidateExceptSame({"CON", "PRN", "AUX", "CLOCK$", "NUL", "COM0", "COM1", "COM2", "COM3", "COM4", "COM5", "COM6", "COM7", "COM8", "COM9", "LPT0", "LPT1", "LPT2", "LPT3", "LPT4", "LPT5", "LPT6", "LPT7", "LPT8", "LPT9"}, "文件夹名不可为 %!", True).Validate(Str) Dim InvalidStrCheck As String = New ValidateExceptSame({"CON", "PRN", "AUX", "CLOCK$", "NUL", "COM0", "COM1", "COM2", "COM3", "COM4", "COM5", "COM6", "COM7", "COM8", "COM9", "LPT0", "LPT1", "LPT2", "LPT3", "LPT4", "LPT5", "LPT6", "LPT7", "LPT8", "LPT9"}, "文件夹名不可为 %!", True).Validate(Str)
If Not InvalidStrCheck = "" Then Return InvalidStrCheck If Not InvalidStrCheck = "" Then Return InvalidStrCheck
'检查波浪号 (issue #4505)
If Str.Contains("~") Then Return "文件名不能包含波浪号!"
'检查文件夹重名 '检查文件夹重名
Dim Arr As New List(Of String) Dim Arr As New List(Of String)
If PathIgnore IsNot Nothing Then If PathIgnore IsNot Nothing Then
@@ -286,6 +289,8 @@ Public Class ValidateFileName
'检查特殊字符串 '检查特殊字符串
Dim InvalidStrCheck As String = New ValidateExceptSame({"CON", "PRN", "AUX", "CLOCK$", "NUL", "COM0", "COM1", "COM2", "COM3", "COM4", "COM5", "COM6", "COM7", "COM8", "COM9", "LPT0", "LPT1", "LPT2", "LPT3", "LPT4", "LPT5", "LPT6", "LPT7", "LPT8", "LPT9"}, "文件名不可为 %!", True).Validate(Str) Dim InvalidStrCheck As String = New ValidateExceptSame({"CON", "PRN", "AUX", "CLOCK$", "NUL", "COM0", "COM1", "COM2", "COM3", "COM4", "COM5", "COM6", "COM7", "COM8", "COM9", "LPT0", "LPT1", "LPT2", "LPT3", "LPT4", "LPT5", "LPT6", "LPT7", "LPT8", "LPT9"}, "文件名不可为 %!", True).Validate(Str)
If Not InvalidStrCheck = "" Then Return InvalidStrCheck If Not InvalidStrCheck = "" Then Return InvalidStrCheck
'检查波浪号 (issue #4505)
If Str.Contains("~") Then Return "文件名不能包含波浪号!"
'检查文件重名 '检查文件重名
If ParentFolder IsNot Nothing Then If ParentFolder IsNot Nothing Then
Dim DirInfo As New DirectoryInfo(ParentFolder) Dim DirInfo As New DirectoryInfo(ParentFolder)
@@ -351,6 +356,8 @@ Fin:
'检查特殊字符串 '检查特殊字符串
Dim InvalidStrCheck As String = New ValidateExceptSame({"CON", "PRN", "AUX", "CLOCK$", "NUL", "COM0", "COM1", "COM2", "COM3", "COM4", "COM5", "COM6", "COM7", "COM8", "COM9", "LPT0", "LPT1", "LPT2", "LPT3", "LPT4", "LPT5", "LPT6", "LPT7", "LPT8", "LPT9"}, "文件夹名不可为 %!").Validate(SubStr) Dim InvalidStrCheck As String = New ValidateExceptSame({"CON", "PRN", "AUX", "CLOCK$", "NUL", "COM0", "COM1", "COM2", "COM3", "COM4", "COM5", "COM6", "COM7", "COM8", "COM9", "LPT0", "LPT1", "LPT2", "LPT3", "LPT4", "LPT5", "LPT6", "LPT7", "LPT8", "LPT9"}, "文件夹名不可为 %!").Validate(SubStr)
If Not InvalidStrCheck = "" Then Return InvalidStrCheck If Not InvalidStrCheck = "" Then Return InvalidStrCheck
'检查波浪号 (issue #4505)
If Str.Contains("~") Then Return "文件夹名不能包含波浪号!"
Next Next
Return "" Return ""
End Function End Function