路径中的句点被截断时,如何获取基名?

时间:2019-06-18 20:07:53

标签: 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:\temp\1. Some Folder")

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

D:\temp\1

我假设VBScript由点引发。有解决这个问题的技巧吗?还是您必须在最后一个斜杠索引之后修改完整路径?

2 个答案:

答案 0 :(得分:1)

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

从文档中

  

返回不属于驱动器规格的指定路径的最后一个组成部分。

答案 1 :(得分:0)

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

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

WScript.Echo fso.GetFolder("D:\temp\1. Some Folder").Name

返回

  
      
  1. 某些文件夹
  2.