当基名称在路径中被句点截断时如何获取?



我在这里错过了一个技巧吗?

Dim fso
Set fso = WScript.CreateObject("Scripting.FileSystemObject")
WScript.Echo fso.GetBaseName("D:temp1. Some Folder")
WScript.Echo fso.GetBaseName("D:tempSome Other Folder Without A Dot")
WScript.Echo fso.GetAbsolutePathName("D:temp1. Some Folder")

上面基本名称的代码在点/句点处被截断。

D:temp1

我假设 VBScript 是由点抛出的。有没有办法解决这个问题?还是必须修改斜杠最后一个索引之后的完整路径?

我相信GetFileName会产生你想要的结果。

从文档中:

返回指定路径中不属于驱动器规范的最后一部分。

GetBaseName函数确实将最后一个点之后的所有内容视为扩展名,因此您期望的文件夹名称将被截断。

更安全,但仅适用于现有路径可能是使用GetFolder函数接收 Folder 对象并从中获取Name属性:

WScript.Echo fso.GetFolder("D:temp1. Some Folder").Name

返回

  1. 某个文件夹

最新更新