Vbscript 当basename在路径中被句点截断时,如何获取它?
我错过了一个技巧吗Vbscript 当basename在路径中被句点截断时,如何获取它?,vbscript,path,basename,Vbscript,Path,Basename,我错过了一个技巧吗 Dim fso Set fso = WScript.CreateObject("Scripting.FileSystemObject") WScript.Echo fso.GetBaseName("D:\temp\1. Some Folder") WScript.Echo fso.GetBaseName("D:\temp\Some Other Folder Without A Dot") WScript.Echo fso.GetAbsolutePathName("D:\te
Dim fso
Set fso = WScript.CreateObject("Scripting.FileSystemObject")
WScript.Echo fso.GetBaseName("D:\temp\1. Some Folder")
WScript.Echo fso.GetBaseName("D:\temp\Some Other Folder Without A Dot")
WScript.Echo fso.GetAbsolutePathName("D:\temp\1. Some Folder")
上面的basename代码在点/句点处被截断
D:\temp\1
我假设VBScript是由点抛出的。这有什么诀窍吗?或者您必须在最后一个斜杠索引之后修改完整路径吗?我相信GetFileName将生成您要查找的结果
从文档中:
返回不属于驱动器规格的指定路径的最后一个组件
GetBaseName函数确实将最后一个点之后的所有内容都视为扩展名,因此预期的文件夹名称将被截断
更安全的方法是使用GetFolder函数接收并从中获取Name属性,但仅适用于现有路径:
WScript.Echo fso.GetFolder("D:\temp\1. Some Folder").Name
返回
一些文件夹
这很好,但它不能解释为什么basename会被截断。