gpt4 book ai didi

asp-classic - FileSystemObject - 不支持的文件名字符

转载 作者:行者123 更新时间:2023-12-04 02:15:52 26 4
gpt4 key购买 nike

有没有我可以使用的函数将不可靠的文件名转换为好的文件名?

我正在处理大量照片,偶尔,我的脚本会停止,因为上传者在文件名中加入了 curl 符号 (~)。我现在还想知道是否还有其他不能出现在文件名中的错误符号以及如何转义它们。

我正在使用 VBScript 的文件系统对象循环访问这些文件,类似于以下内容:

For Each File In Files
If InStr(UCase(File.Name), ".JPG") > 0 Then
'// do stuff
End If
Next

最佳答案

您可以创建一个函数来返回“清理过的”文件名,例如:

function MakeNormal(filename)
dim re : Set re = new regexp

re.Pattern = "[^\w :\\\.]"
re.Global = True

MakeNormal = re.Replace(filename, "_")

end function

msgbox MakeNormal("C:\Temp\normal filename.txt")
msgbox MakeNormal("C:\Temp\special ~!@#$%^&*() filename.txt")

' returns: "C:\Temp\normal filename.txt" and "C:\Temp\special __________ filename.txt"

并将文件名替换为清理后的文件名。当您有两个仅在特殊字符上唯一的文件时,就会变得有风险。

以上是“白名单”变体,如果您更喜欢“黑名单”版本,您可以将模式替换为类似[~!@#$%^&()]

关于asp-classic - FileSystemObject - 不支持的文件名字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11778282/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com