我在这里错过了一个技巧吗?
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
返回
- 某个文件夹