Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/scala/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Vbscript 当basename在路径中被句点截断时,如何获取它?_Vbscript_Path_Basename - Fatal编程技术网

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会被截断。